Wprowadzenie
Układy AVR można zaprogramować za pomocą dostępnych, darmowych narzędzi. Poniżej znajdziesz pełen opis przygotowania środowiska i wyślesz swój pierwszy program do układu AVR.
Opis przygotowano na przykładzie systemu z rodziny GNU/Linux - Ubuntu, jednak analogicznie możesz skonfigurować swoje środowisko na innych platformach (m.in. Windows OS) z użyciem tych narzędzi.
Zainstalujmy:
- Eclipse - zintegrowane środowisko programistyczne (IDE), czyli program do edycji kodu źródłowego, integrujący narzędzia pomocniczne wspierające pracę programisty
- make - to narzędzie służące do automatyzacji kompilacji i budowania projektów programistycznych
- gcc-avr - kompilator języka C, zamienia Twój kod na kod wynikowy
- avr-libc - to zestaw bibliotek C specyficznych dla mikrokontrolerów AVR. Zawiera funkcje i definicje potrzebne do pisania oprogramowania, takie jak obsługa rejestrów, przerwań czy operacje matematyczne.
- avrdude - to narzędzie do komunikacji z mikrokontrolerem AVR. Umożliwia przesyłanie skompilowanego programu (np. pliku .hex) do pamięci mikrokontrolera przez programator (np. USBasp, STK500).
Instalacja
W pierwszej kolejności zainstalujmy zestaw narzędzi do kompilacji oraz wysyłania kodu do układów AVR poprzez polecenie:
$ sudo apt install make gcc-avr avr-libc avrdude
Zasadniczo narzędzia te są wystarczające, aby przygotować kod i wysłać program do układu.
Zainstalujmy jednak dodatkowo edytor kodu żródłowego, w tym przypadku potężne narzędzie jakim jest Eclipse. Od wersji 2020-09 dostępne jest jako "self-contained bundle". Oznacza to, że Eclipse nie wymaga już dodatkowej instalacji Java, jak to miało miejsce dla poprzednich wersji.
Pobierz i rozpakuj Eclipse wybierając wersję IDE Eclipse for C/C++ Developers
Zainstaluj teraz wtyczkę ("plugin") do obsługi układów AVR wybierając z górnej belki: Help > Eclipse Marketplace
Po zainstalowaniu wtyczki i restarcie Eclipse wszystkie programy powinny być dostępne w IDE. Możesz to sprawdzić wybierając: Windows > Preferences
Utwórzmy teraz nowy projekt wybierając z górnej belki New > Project... oraz C Project
Przechodząc do następnego kroku poprzez przycisk Next możemy wpisać nazwę oraz wybrać typ projektu. Wybierzmy AVR Cross Target Application
W następnych krokach można wybrać typ układu (MCU Type) oraz określić częstotliwość taktowania. Jest to szczególnie istotne jeśli w układzie zastosowano zewnętrzny rezonator.
Po wybraniu "Finish" możemy przejść do utworzenia prostego programu. Utwórz nowy plik main.c oraz skopiuj poniższy kod:
#include <avr/io.h>#include <util/delay.h>int main(void) {while(1) {}return 0;}
Teraz możesz zbudować oraz wysłać program do układu. W katalogu "Release" tworzonym automatycznie po zmianie opcji Debug > Release znajdziesz plik HEX stanowiący binarną wersję programu, używaną do zaprogramowania Twojego ulubionego mikrokontrolera.
Podsumowanie
Dużą zaletą używania zestawu powyższych narzędzi jest możliwość wykorzystania nieodpłatnie w projektach komercyjnych. W chwili przygotowania wpisu narzędzia były objęte licencjami GPL oraz EPL.
Dodatkowo narzędzia te można pobrać niezależnie między innymi ze strony Microchip. Zestaw ten jest powszechnie używany przez wielu programistów, przez co można znaleźć obszerną bazę przykładów i rozwiązanych problemów
Powodzenia!