Marquons une petite pause de la partie hardware pour aller sur la partie software.
Le programmateur et son interface d'utilisation.Comme indique précédemment je vous recommande l'acquisition d'un programmateur ATMEL ICE.
Véritable couteau suisse des programmateurs il vous aidera dans vos travaux.
Que faire ensuite avec?
Personnellement je ne "pisse pas les lignes de code" comme d'autres respirent. Aussi mon approche se veut avant tout pragmatique. Nul doute que de plus sachant ne manqueront pas d amender mes propos pour vous rendre plus abordable encore certaines subtilités qui m'échappent encore...
Souvenez vous, pour initialiser un microprocesseur il peut y avoir quelques éléments de configuration à actualiser dans sa mémoire afin que celui ci connaissent des paramètres de contexte.
Sur l'ATEMGA328 vous avez déjà entendu parler outre du BOOTLOADER des fusibles ou e-fuses.
Ce sont ces derniers qui vont indiquer par exemple les attribution du rôle de certaines PIN, de la fréquence de fonctionnement, de la tension minimale avant arrêt, ...
Pour l ATMEGA328P on peut par exemple utiliser le logiciel AVRDUDESS qui est une IHM ( interface homme machine donc un interface en mode fenêtre) entre le composant à paramétrer ou programmer et le PC via un programmateur.
On est la dans une situation plus confortable qu'en pure ligne de commande.
Toutefois aussi au point que puisse être cet outils tous les modèles de MCU/CPU n'y figurent pas ou ne sont pas pris en charge notamment les nouvelles séries de processeur des séries 0, 1 et 2 de ATMEL MICROCHIP ( la marque de nos CPU 8bits type ARDUINO)
Aussi une autre approche était elle rendue nécessaire en restant simple d'utilisation pour les plus novices et moins expérimentés et naturellement la plus gratuite possible.
Par la force de choses j'ai retenu une approche via MICROCHIP STUDIO ( ex ATMEL STUDIO).
Plus précisément via cet outil l'utilisation du menu TOOLS.
PROGRAMMING DEVICE donne accès au menu qui permettent de lire, écrire, vérifier et charger tant les e-fuse que vos firmwares à destination de vos CPU/MCU.
C'est aussi un moyen de contrôler voir extraire dans certaines conditions ce qui est présent.
Selon votre processeur les interfaces de programmation sont différentes (brochages différents) mais via un adaptateur vous pourrez relier votre processeur à ce programmateur.
Sur l ARDUINO UNO on passe par une interface a 6 broches de type ICSP.
Sur les processeurs plus récents comme celui de l'Arduino Nano Every équipe d un ATMEGA4809 de la série AVR 0 l'interface se fait via un connectique UDPI à 3 broches.
Remarque importante:Notez que l ATMEL ICE ne fournit pas la tension d alimentation de votre CPU aussi il conviendra d'alimenter celui ci pour le lire ou le programmer.
La LED verte du programmateur indiquera la présence de la tension.
Ci dessous les captures vous permettant de naviguer dans les menus adaptés.
Comme vous le constatez tout est très bien indiqué, une aide contextuelle via un petit ? peut vous aider.
Il convient toutefois de se reporter à la documentation de vos processeur pour savoir sur quel paramètre agir et pour quelles conséquences.
Soyez donc vigilant, prudent et avisé lors de vos actions.
Il vous est possible en une opération de configurer vos e-fuse, charger un firmware et contrôler que ces opérations se sont correctement déroulées en cochant dans la vue programmation les cases correspondante avant de cliquer sur PROGRAMM ou VERIFY
Il vous est aussi possible de traiter séparément ces opérations.
La suite arrive
Je vous sens déjà impatients!! Merci de votre soutient et de vos nombreux encouragements!
Laurent
PS Si une fumée vient à se dégager, c'est que vous avez très problèmes louper quelques chose...