Comment faire utiliser le programmateur MySmartUSB directement dans l’IDE de l’arduino ?
Conclusion de la conversation du forum Arduino
(edit) voir la dernière mise à jour en fin de page
Boards
J’ai créé un dossier mysmartusb dans arduino-1.0/hardware dans lequel j’ai recopier le dossier variant contenu dans arduino-1.0/hardware/arduino.
J’ai créé le fichier arduino-1.0/hardware/mysmartusb/boards comme suit :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
mysmart168.name=mySmartUSB avec ATmega168 mysmart168.upload.protocol=avr911 mysmart168.upload.maximum_size=16384 mysmart168.bootloader.low_fuses=0xe2 mysmart168.bootloader.high_fuses=0xdf mysmart168.bootloader.extended_fuses=0x00 mysmart168.build.mcu=atmega168 mysmart168.build.f_cpu=8000000L mysmart168.build.core=arduino:arduino mysmart168.build.variant=standard ###################################################### mysmart328.name=mySmartUSB avec ATmega328 mysmart328.upload.protocol=avr911 mysmart328.upload.maximum_size=32768 mysmart328.bootloader.low_fuses=0xe2 mysmart328.bootloader.high_fuses=0xdf mysmart328.bootloader.extended_fuses=0x00 mysmart328.build.mcu=atmega328p mysmart328.build.f_cpu=8000000L mysmart328.build.core=arduino:arduino mysmart328.build.variant=standard |
J’aurais également pu me contenter d’ajouter cela à arduino-1.0/hardware/arduino/boards, mais j’ai préféré faire comme ça pour ne pas que les modifications soient écrasées lors d’une prochaine mise à jour de l’IDE.
programmers
Dans le fichier arduino-1.0/hardware/arduino/programmers.txt j’ai ajouté les lignes suivantes :
1 2 3 |
mysmartusb.name=mySmartUSB mysmartusb.communication=serial mysmartusb.protocol=avr911 |
Maintenant la procédure est simple. Le programmateur est branché sur un atmega328p tout nu.
Dans l’IDE je choisi Tools>Programmer>mySmartUSB et Tools>Board>mySmartUSB avec ATmega328.
Le sketch est simplement chargé par File>Upload Using Programmer. Et hop, voila un arduino à $6.
Mise à jour du 22/10/2015 :
Avec la version Arduino 1.6.5 (et sûrement depuis un moment), le fichier board.txt a un peu changé. Il faut donc mettre à la fin :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
############################################################## mysmartusb.name=mySmartUSB avec ATmega168 ou ATmega328 mysmartusb.upload.tool=avrdude mysmartusb.upload.protocol=avr911 mysmartusb.bootloader.tool=avrdude mysmartusb.bootloader.unlock_bits=0x3F mysmartusb.bootloader.lock_bits=0x0F mysmartusb.build.f_cpu=8000000L mysmartusb.build.core=arduino mysmartusb.build.variant=standard ## mysmartusb w/ ATmega328 ## --------------------------------------------- mysmartusb.menu.cpu.atmega328=ATmega328 mysmartusb.menu.cpu.atmega328.upload.maximum_size=30720 mysmartusb.menu.cpu.atmega328.upload.maximum_data_size=2048 mysmartusb.menu.cpu.atmega328.upload.speed=57600 mysmartusb.menu.cpu.atmega328.bootloader.low_fuses=0xFF mysmartusb.menu.cpu.atmega328.bootloader.high_fuses=0xDA mysmartusb.menu.cpu.atmega328.bootloader.extended_fuses=0x05 mysmartusb.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex mysmartusb.menu.cpu.atmega328.build.mcu=atmega328p ## mysmartusb w/ ATmega168 ## --------------------------------------------- mysmartusb.menu.cpu.atmega168=ATmega168 mysmartusb.menu.cpu.atmega168.upload.maximum_size=14336 mysmartusb.menu.cpu.atmega168.upload.maximum_data_size=1024 mysmartusb.menu.cpu.atmega168.upload.speed=19200 mysmartusb.menu.cpu.atmega168.bootloader.low_fuses=0xe2 mysmartusb.menu.cpu.atmega168.bootloader.high_fuses=0xdd mysmartusb.menu.cpu.atmega168.bootloader.extended_fuses=0x00 mysmartusb.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_mysmartusb.hex mysmartusb.menu.cpu.atmega168.build.mcu=atmega168 ############################################################## |
et ajouter à programmers.txt
1 2 3 4 5 6 |
mysmartusb.name=mySmartUSB mysmartusb.communication=serial mysmartusb.protocol=avr911 mysmartusb.program.protocol=avr911 mysmartusb.program.tool=avrdude mysmartusb.program.extra_params=-P{serial.port} |