AVR: Integracja z ECLIPSE CDT
01.12.2012 17:13
Wstęp
Dziś opiszę dość prostą integrację Eclipse z AVR PLUGIN który umożliwia programowanie mikroprocesorów AVR wykorzystując Eclipse i gcc‑avr.Przedmowa
Największą zaletą Eclipse w stosunku do oficjalnego AVR Studio jest możliwość uruchomienia go na platformie linux. Jak moje doświadczenia i kolegów pokazały linuks(ubuntu 12.04) okazuje się być platformą wygodniejszą do programowania AVR niż windows. Zalety są dwie. Po pierwsze nowe gcc w rezpozytoriach, niestety już nie ukazują się nowe wersje winavr(w nim znajduje się kompilator) . Drugim plusem jest brak problemów z programowaniem układów przez popularny programator AVRPROG USBv2. Mi działał na windows, z kolei moi niektórzy koledzy mieli problemy z nim począwszy od tego że nie wykrywał go avr studio po problemy z ładowaniem bezpośrednio przez avrdude. Jeśli idzie o same środowiska czyli Eclipse vs AVR studio(ms visual studio) różnic dużych nie ma w wygodzie korzystania z nich.
Niech stanie się światłość
Na początek co będzie nam potrzebne: -Eclipse, plugin działa także z najnowszą wersją eclipse chociaż podczas zmiany ustawień programatora potrafi wyświetlić informację o błędzie ale nie ma się czym przejmować zdarza się to sporadycznie i na nic nie wpływ. W przypadku Linuks podobnie jak na windows proponuję sięgnąć IDE z stron oficjalnych jako zip. Po prostu w wypadku reinstalacji systemu nie znika nam eclipse jak to ma miejsce przy instalacji z rezpozytoriów. Teraz toolchain: Dla windows: -WinAVR -Avrdude Dla linuks: -gcc + avr‑gcc -binutils -libc avr -gdb + gdb‑avr -avrdude W przypadku linuks wszystko znajduje się w rezpozytoriach popularnych dystrybucji. Instalacja pluginu może przebiegać na dwa sposoby. Poprzez pobranie adresu paczki z pluginem lub poprzez pobranie paczki bezpośrednio. Osobiście preferuję drugi sposób ale co kto woli. I. Sposób W Eclipse Help=>Install new software
Najpierw proponuję odznaczyć Contact All Update Sites, ponieważ wtedy instalacja będzie trwała długo. Wybieramy Add po czym w nowym oknie w Location podajemy adres AVR PLUGIN WWW Następnie odszukujemy AVR Plugin II. Sposób Ściągamy z KLIK paczkę .zip z pluginem(uwaga nie rozpakowujemy go!). Podobnie jak poprzednio Help=>Install=>Add. Tym razem w nowym oknie klikamy Archive... po czym wskazujemy ścieżkę do pliku .zip. Zaznaczamy plugin do instalacji. Następnie postępujemy zgodnie z instrukcjami instalatora. W ten sposób zainstalowaliśmy AVR Plugin.
Pierwsza Krew
Aby założyć nowy projekt klikamy File=>New=>C project. Wybieramy typ taki jak na rysunku poniżej.
Klikamy next. Potem wybieramy typ konfiguracji Debug/Relase lub oba. W zasadzie można by wybrać tylko Relase ale jak ktoś miałby jakieś problemy to może zostawić oba zaznaczone. Klikamy znów next. Następnie wybieramy typ chipu i zegar. Poprawny zegar jest bardzo ważny ponieważ w przypadku Eclipse nie ma potrzeby ustawiania w plikach .c F_CPU. Eclipse robi to automatycznie na podstawie wartości jaką podamy. Wartość tą można oczywiście edytować później. Prędkość zegara podajemy w Hz. Klikamy finish.
W ten sposób stworzyliśmy nowy projekt. Ale nie mamy skonfigurowanego programatora i być może nie będzie generowany jeszcze plik .hex który ma być ładowany. Zacznijmy od programatora. Klikamy na nasz projekt w Project Explorer(Okno po lewej). Następnie Project => Properties =>AVR=>AVRDUDE.
Jako że nie mieliśmy wcześniej skonfigurowanego programatora lista z nimi jest pusta. Klikamy New.. Ustawiamy jak na rysunku poniżej(konfiguracja dla linuks). W przypadku windows Override default port musi być ustawione na któryś z portów com czyli wpisujemy tam np. com3.
Dajemy ok po czym ustawiamy programator wybierając go z listy. Fusbity można ustawiać w głównym oknie(Project => Properties =>AVR=>AVRDUDE) zakładka FUSES, domyślnie nie są one nadpisywane.
W Project => Properties =>AVR=> Target Hardware można zmienić typ chipu i zegar. UWAGA ZMIANA ZEGARA W TYM MIEJSCU NIE OZNACZA ŻE ZMIENIĄ SIĘ OD RAZU ZEGARY W PROCESORZE. W tym miejscu zegar jest tylko ustawiany na potrzeby kompilatora i IDE. Zegary nadal ustawia się Fusbitami.
Jeśli kompilator nie generuje pliku .hex należy wejść do Project => Properties =>C/C++ Build=>Settings i ustawić kompilator jak na rysunku poniżej.
W tym oknie można także ustawiać optymalizację jakie wprowadza kompilator(AVR Compiler=>Optimization). Domyślnie brak optymalizacji.
Aby załadować do procesora projekt klikamy prawym przyciskiem myszki na jego główny folder w Project Explorer, z listy wybieramy AVR=>Upload Project to target device.