Programmateur STK500
Le programmateur STK500 parallèle permet de programmer les Attiny et AtMega en mode parallèle et en mode série, en “haute tension”. Cette manière de programmer dite “haute tension” permet d'effacer les chips même si tous les bits de protection sont activés. En temps normal, les bits de “FUSE” peuvent empêcher la relecture, mettre l'horloge en externe, empêcher la programmation en redéfinissant des broches. La programmation “haute tension” autorise une vraie remise à zéro de la puce. Fini les puces rendues inutilisables par un mauvais choix de fusibles.
Le côté indispensable du programmateur parallèle est amené par le besoin de sortir de l'environnement Arduino, les cartes, pour programmer le microcontrôleur pour qu'il soit 100% autonome pour faire le l'embarqué minimaliste.
On doit en premier lieu repérer l'emplacement du fichier programmers.txt qui nous intéresse, qui se trouve quelque part dans mon dossier personnel
$ find -type f -iname programmers.txt ./.arduino15/packages/ATTinyCore/hardware/avr/1.5.2/programmers.txt ./.arduino15/packages/MiniCore/hardware/avr/2.2.1/programmers.txt ./.arduino15/packages/arduino/hardware/avr/1.8.6/programmers.txt ./.arduino15/packages/digistump/hardware/avr/1.6.7/programmers.txt ./.arduino15/packages/esp8266/hardware/esp8266/3.1.1/programmers.txt ./.arduino15/packages/MicroCore/hardware/avr/2.2.1/programmers.txt
J'aimerais utiliser la programmation en parallèle pour le MiniCore et le MicroCore, qui permet de faire une large gamme qui va de l'ATtiny à l'ATMega. Je dois donc éditer les fichiers correspondants et ajouter à la fin
stk500.name=STK500 as ISP stk500.communication=serial stk500.protocol=stk500 stk500.program.protocol=stk500 stk500.program.tool=avrdude stk500.program.extra_params= -P {serial.port} stk500hvpp.name=STK500 as HVPP stk500hvpp.communication=serial stk500hvpp.protocol=stk500pp stk500hvpp.program.protocol=stk500pp stk500hvpp.program.tool=avrdude stk500hvpp.program.extra_params= -P {serial.port} stk500hvsp.name=STK500 as HVSP stk500hvsp.communication=serial stk500hvsp.protocol=stk500pp stk500hvsp.program.protocol=stk500hvsp stk500hvsp.program.tool=avrdude stk500hvsp.program.extra_params= -P {serial.port}
On a donc
- le STK500 juste en ISP classique
- le STK500 en programmation Parallèle “haute tension”
- le STK500 en programmation Série “haute tension”
Pour le MicroCore, le STK500 en HVPP est inutile car l'ATtiny13 ne se programme qu'en série