Chciałbym tutaj opisać sposób programowania mikrokontrolera Atmega328p z programu Atmel Studio 7 z wykorzystaniem programatora USBAsp.
[Źródło: https://kamami.pl/programatory-avr/562188-usbasp-programator-isp-dla-mikrokontrolerow-avr.html]
Na samym początku należy zainstalować odpowiednie sterowniki dla programatora. Tutaj najprostszym sposobem jest wykorzystanie programu Zadig.
Należy zainstalować sterownik o nazwie libusbK. W systemie po poprawnej instalacji programator będzie widoczny w następujący sposób:
Dalej należy pobrać avrdude i umieścić go np. na dysku C.
Podłączenie należy wykonać zgodnie z tym rysunkiem:
Teraz przejdę już do konfiguracji programatora w programie Atmel Studio 7. Tutaj należy dodać zewnętrzny programator w zakładce Tools -> External Tools:
- Title - dowolna nazwa dołączanego narzędzia,
- Command - ścieżkę do programatora avrdude, który został wypakowany w domyślnej lokalizacji,
- Arguments - komendę dla programatora:
- Initial directory - Lokalizacja plików z projektem w którym znajduje się folder debug oraz plik hex.
Warto zaznaczyć opcję Use Output Window w celu obserwacji czy nie pojawią się żadne błędny podczas wgrywania.
Argumenty dla programatora avrdude są następujące:
- -c usbasp - który programator będzie używany,
- -p m328p - nazwa mikrokontrolera który będzie obsługiwany z tego narzędzia. Listę mikrokontrolerów można pobrać z dokumentacji.
- -P usb - podłączone do portu USB
- -U - flash:w: "$(OutDir)Debug\$(TargetName).hex" - zapis danych do pamięci flash. Lokalizacja pliku hex z wygenerowanym projektem (TargetName). Pierwszym argumentem jest folder Debug z lokalizacją pliku.
Dokładne informacje o avrdude można pobrać pod tym linkiem z z pliku PDF.
Po kliknięciu na dodane narzędzie nastąpi wgranie programu do urządzenia: