Odtworzenie bootloadera w Arduino Uno z wykorzystaniem programatora AVRISP mkII
Rozwiązaniem tego konfliktu jest zaprogramowanie bootloadera z wykorzystaniem środowiska firmy Atmel. Postępowanie jest identyczne zarówno w przypadku wykorzystywania starszego środowiska (AVR Studio), jak i w nowszej odmiany, czyli Atmel Studio. W dalszej części jest opisany krok po kroku sposób zaprogramowania mikrokontrolera ATmega328 na płytce Arduino Uno bootloaderem z wykorzystaniem programatora AVRISP mkII oraz środowiska Atmel Studio 6 (oczywiście zakładamy, że w komputerze już jest prawidłowo zainstalowane Atmel Studio wraz ze sterownikami dostarczanymi z tym oprogramowaniem).
- Do płytki Arduino Uno należy dołączyć zasilanie, np. dołączając ją kablem USB do komputera.
- Programator AVRISP mkII należy dołączyć do komputera kablem USB.
- Programator AVRISP mkII należy dołączyć do płytki Arduino Uno.
Rys. 5. Sposób dołączenia programatora AVRISP mkII do Arduino Uno
- W Atmel Studio należy wybrać Tools i następnie Device Programming.
- W polu Tool należy wybrać typ programatora (AVRISP mkII), w polu Device należy wybrać typ programowanego mikrokontrolera (ATmega328P), w polu Interface należy wybrać sposób programowania układu (ISP) i następnie należy kliknąć na przycisk Apply (rysunek 6).
Rys. 6. Ustawienia dotyczące wykorzystywanego programatora
- Po wybraniu w lewej kolumnie zakładki Memories należy wskazać plik do zaprogramowania znajdujący się w katalogu:
...\arduino-1.0.5\hardware\arduino\bootloaders\optiboot\optiboot_atmega328.hex
i nacisnąć przycisk Program .
Rys. 7. Wybór pliku z programem bootloadera
- Po zaprogramowaniu pamięci Flash mikrokontrolera należy w lewej kolumnie wybrać zakładkę Fuses i w polu Fuse Register wpisać dla odpowiednich rejestrów wartości:EXTENDED: 0x05
HIGH: 0xDE
LOW: 0xFF
Następnie należy nacisnąć przycisk Program .
Rys. 8. Ustawienie bitów konfiguracyjnych mikrokontrolera
Po tych czynnościach można korzystać z możliwości programowania mikrokontrolera z poziomu środowiska Arduino IDE z wykorzystaniem bootloadera.