Ta strona używa ciasteczek (cookies), dzięki którym możliwe jest między innymi poprawne wyświetlanie elementów strony, zapamiętywanie sesji użytkowników. Dodatkowo na stronie znajduje się skrypt Google Analytics oraz PIWIK (statystyki oglądalności). Znajdują się również skrypty przycisków serwisów społecznościowych Facebook, Twitter i Google+ oraz YouTube, które również mogą zapisywać ciasteczka.

Jak rozpocząć programowanie AVR na Mac OS X

Chcąc programować mikrokontrolery AVR firmy Atmel na komputerze Mac, pracującym pod kontrolą systemu OS X, mamy do wyboru dwie drogi - łatwiejszą i trudniejszą.

Łatwiejsza sprowadza się do zainstalowania jedynie trzech pakietów oprogramowania pomocnego przy programowaniu AVR-ów. A cały proces konfigurowania mikrokontrolera (fusebity, lockbity), wgrywanie wsadu, kontroluje się z poziomu aplikacji „klikalnych” ;) .

Trudniejsza droga to instalacja Xcode oraz szablonów do niego. Trudność w tym wypadku polega na tym, że całą pracę związaną z konfiguracją procesora, kompilowaniem programu, wykonuje się z poziomu terminala. Oczywiście można użyć aplikacji do ustawiania fusebitów, jednak tworzenie pliku „makefile” i kompilacja w terminalu nas nie ominie.

To jeżeli chodzi o stronę programową. Natomiast od strony sprzętowej, musimy zaopatrzyć się w programator, przy pomocy którego będziemy się łączyć z mikrokontrolerem. Najbardziej chyba popularnym w Polsce i jednym z tańszych jest programator USBAsp. Zaletą używania tego programatora na Macu jest to, że nie trzeba instalować żadnych sterowników. Możemy taki programator zbudować sobie sami http://www.fischl.de/usbasp/ , ale i tak będziemy potrzebować innego programatora, żeby zaprogramować mikrokontroler, który będzie znajdował się w zbudowanym przez nas programatorze. Myślę więc, że ta opcja na początek odpada ;) Pozostaje więc zakupienie programatora. Wybór jest spory, od najtańszych chińskich, ale z nimi różnie bywa, aż po te droższe. Tu już trzeba samemu zadecydować czy jest się gotowym na ewentualne problemy z chińszczyzną czy może trochę dołożyć pieniędzy i kupić programator sprawdzonego producenta.

W poradniku skupię się na drodze łatwiejszej. Głównie z tego powodu, że swoją przygodę z AVR-ami rozpocząłem od przeczytania książki Pana Mirosława Kardasia „Mikrokontrolery AVR Język C Podstawy programowania”. W swojej książce oprócz nauki języka C, przedstawia on również środowisko programistyczne jakim jest Eclipse, a to właśnie Eclipse sprawia, że programowanie AVR-ów na Macu stało się prostsze, moim zdaniem oczywiście.

Co musimy zainstalować?

Przede wszystkim potrzebny nam będzie program avrdude oraz kompilator AVR-GCC. To dzięki avrdude będziemy mogli nawiązywać komunikację poprzez programator z mikrokontrolerem. Znajdziemy to wszystko w pakiecie oprogramowania CrossPack . Oprócz wspomnianych wcześniej programów pakiet ten zawiera również pliki nagłówkowe mikrokontrolerów oraz inne potrzebne biblioteki. Cała instalacja sprowadza się do użycia instalatora będącego częścią pakietu. W procesie instalacji nasza rola ogranicza się do potwierdzania kolejnych kroków. Proponuję nie zmieniać docelowego miejsca instalacji, jakie zaproponuje instalator. Dzięki temu unikniemy ewentualnych problemów, które mogłyby się pojawić przy niestandardowej ścieżce dostępu do instalowanych komponentów.

Następnym krokiem będzie instalacja Eclipse. Z racji tego, że środowisko to jest przygotowane do programowania w różnych językach, musimy zainstalować odpowiednią wersję do naszych celów, czyli Eclipse IDE for C/C++ Developers . Nie będę podawał linku do konkretnej wersji Eclipse, ponieważ jest on ciągle rozwijany i co jakiś czas pojawia się nowsza wersja tego środowiska. W chwili, gdy piszę ten poradnik, najnowsza wersja nosi nazwę kodową „Mars”. Po pobraniu i rozpakowaniu archiwum pozostaje przenieść ikonę aplikacji w dowolne miejsce na dysku. Osobiście trzymam Eclipse w folderze „Programy”, dzięki czemu dostęp do aplikacji jest z konta każdego użytkownika.

Ostatnim elementem będzie zainstalowanie programu, dzięki któremu w prosty sposób skonfigurujemy mikrokontroler. Oczywiście proponuję aplikację AVRFusesCalc mojego autorstwa. W internecie można też znaleźć program AVRFuses, jednak nie daje on możliwości ustawienia lockbitów oraz nie posiada funkcjonalności "Fusebity uproszczone", przydatnej początkującym.

Przejdźmy teraz do konfiguracji całego środowiska. 

CrossPack nie wymaga żadnej konfiguracji. Instalujemy i po kłopocie. Instalacji możemy dokonać z konta użytkownika lub administratora.

W Eclipse musimy skonfigurować folder w którym będziemy trzymali nasze projekty, ścieżki dostępu do bibliotek, oraz zainstalujemy z jego poziomu dodatek do obsługi AVR-ów. Tak więc po pierwszym uruchomieniu, pokaże się okno w którym będziemy mogli ustalić folder w którym Eclipse będzie miał zapisywać projekty. Standardowo są to "Dokumenty/Workspace", jednak nic nie stoi na przeszkodzie abyśmy wybrali inną lokalizację. Naciskamy "OK" i otwarte zostanie okono startowe, w którym to możemy  przeczytać np. poradniki. Nas jednak interesuje przejście do okna głównego programu. Naciskamy w górnym prawym rogu przycisk „Workbench” i zostajemy przeniesieni do okna głównego. Pierwszą czynność jaką musimy wykonać, to zainstalować wspomniany wcześniej dodatek. Wybieramy z menu pozycję „HELP” a następnie „Eclipse Marketplace…”.

pic1

W oknie które się pojawi, w polu „Find:” wpisujemy „avr”. Z listy znalezionych dodatków instalujemy „AVR Eclipse Plugin”, w tym celu naciskamy „Install” (3). Zostaną wczytane moduły do zainstalowania. Naciskamy „Confirm”. Teraz musimy potwierdzić że zapoznaliśmy się z licencją i że się z jej warunkami zgadzamy. Oczywiście zaznaczamy że wszystko zrozumieliśmy i naciskamy „Finish”. Powinna nastąpić teraz instalacja dodatku. Po chwili wyskoczy komunikat informujący/ostrzegający o instalacji, potwierdzamy że wszystko OK. Jak nic nie przerwało połączenia lub też nie pojawiły się żadne błędy, instalacja zostanie zakończona sukcesem i poproszeni będziemy o restart programu.

 

pic2

Eclipse ponownie się uruchomi i od razu zostaniemy przeniesieni do okna głównego. Z menu głównego wybieramy opcję "Eclipse -> Preferencje”. Dowodem na to że plugin AVR zainstalował się poprawnie będzie dostępna rozwijana zakładka „AVR”.

 

 

pic3

Po rozwinięciu zaznaczamy „AVRDUDE”(1). W tym oknie musimy wskazać plik konfiguracyjny do avrdude oraz ustalić z jakiego programatora będziemy korzystać. Jeśli pole „AVRDude config file” jest puste lub wskazuje niewłaściwą ścieżkę dostępu, zaznaczamy „Use custom…" (2) i po naciśnięciu przycisku „Browse…” (3) wskazujemy prawidłową ścieżkę do pliku konfiguracyjnego avrdude. Ścieżka widoczna w przykładzie jest standardową jaka zostaje ustalona podczas instalacji pakietu CrossPack. Kolejny krok to wybranie programatora. Naciskamy „Add…”

pic4

Z listy po lewej stronie, wybieramy nasz programator (1). W moim wypadku jest to USBAsp. Niczego nie zmieniamy w opcjach programatora, a jedynie w polu „Configuration name” (2) wpisać możemy własną nazwę pod którą zostaną zapamiętane te ustawienia. Przydaje się to gdy korzystamy z różnych programatorów. Po wszystkim naciskamy „OK”  (3) a następnie „Apply”.

 

 

 

pic5

Przechodzimy do „Paths” (1).

Tutaj generalnie nie powinniśmy mieć nic do zrobienia. Jeśli CrossPack został zainstalowany w standardowej lokalizacji, pola ze ścieżkami dostępu (2) powinny być automatycznie wypełnione. Gdy jednak dokonaliśmy zmiany miejsca instalacji pakietu CrossPack, musimy wskazać sami poprawne ścieżki. W tym celu zaznaczamy po lewej stronie okna komponent (3) który chcemy ustawić i wybieramy „Edit…” (4).

 

pic6

Teraz musimy dokonać wyboru ręcznego ustawiania ścieżki (1) a następnie wskazać miejsce gdzie znajdują się szukane pliki (2). Na koniec potwierdzamy "OK" (3). Trzeba tak postąpić z każdym komponentem z osobna.

 

 

Gdy wszystkie ścieżki prowadzą już do właściwych lokalizacji, w oknie głównym zakładki "Paths" naciskamy „Apply” i „OK”.

W ten sposób zakończyliśmy ogólną konfigurację Eclipse. Od teraz możemy zarówno pisać program w C na AVR jak i od razu z poziomu Eclipse wgrać go do mikrokontrolera.

Tego  jak założyć nowy projekt, jak przypisać mikrokontroler do projektu, jak skompilować program i wgrać go do mikrokontrolera, nie będe opisywał lecz odeślę do poradników, wspomnianego już wcześniej, Pana Mirosława Kardasia. Na Jego kanale YouTube można znaleźć poradniki do Eclipsa w których krok po kroku wyjaśnia te tematy.

Jedną rzecz jaką jeszcze możemy sobie ustawić w Eclipse, a która może okazać się pomocna, to do okna z zakładkami dodać nowe, te które zostały zainstalowane wraz z "AVR Plugin". W tym celu z menu głównego wybieramy opcję "Window -> Show View -> Other..."

 

pic7W oknie które się pojawi rozwijamy folder "AVR", zaznaczamy moduły które chcemy umieścić w zakładkach, a następnie naciskamy "OK".

 

 

 

 

 

 

 

Dzięki tym modułom mamy ściągi w postaci informacji, jakie np. rejestry posiada konkretny mikrokontroler, jakie posiada porty, jakie przerwania wraz z nazwami wektorów oraz odnośniki do dokumentacji mikrokontrolerów. Możemy również sprawdzić które mikrokontrolery są obsługiwane przez naszą wersję avrdude jak i przez avr-gcc, co nas może uchronić przed zakupem mikrokontrolera nie wspieranego przez oprogramowanie.

Zostało jeszcze przygotowanie do pracy AVRFusesCalc.  Po uruchomieniu programu, z menu głównego wybieramy opcję "AVRFusesCalc -> Preferencje...".

 

pic8W oknie preferencji podajemy ścieżkę dostępu do avrdude, ustalamy z jakiego programatora będziemy korzystać. Jeśli mamy programator który nie wymagał od nas instalacji żadnych sterowników, np. USBAsp, parametru "Baud Rate" nie ruszamy a port wybieramy standardowy "usb". Na koniec oczywiście wybieramy "ZAPISZ".

 

Na tym zakończyliśmy przygotowanie całego środowiska, do programowania mikrokontrolerów AVR na komputerach Mac z systemem OS X.

Komentarze   

#4 Guest 2017-09-20 18:27
Ten komentarz został usunięty przez Administratora
#3 Guest 2017-09-18 15:40
Ten komentarz został usunięty przez Administratora
#2 Marcin 2016-03-19 18:18
Dobrze że udało Ci się znaleźć rozwiązanie. Już myślałem że problemem będzie programator. Swoją drogą to dziwne że "avrdude" z CrossPacka nie wyrzuciło żadnego błędu.
Cytować
#1 Michał 2016-03-19 15:25
Marcin wielkie dzięki za poradnik.

Mam problem: AVRFusesCalc przy opcji CheckAVR, w nieskończoność coś magluje i widnieje "Checking...". Sprawdziłem kilka razy połączenia miernikiem, powinno byc ok. Mam programator USBASP V2.0 LC Technology. Podpowiesz mi coś jak to skonfigurować. W temacie jestem totalnie początkujący. Robiłem też uaktualnienia z drugiego poradnika.
Cytować

Dodaj komentarz

Kod antyspamowy
Odśwież

026451
TodayToday16
This MonthThis Month1376
All DaysAll Days26451
Guests 18