Grzegorz pietrzak



Pobieranie 23.27 Kb.
Data03.05.2016
Rozmiar23.27 Kb.
Wrocław, dn. 11.01.2008

PIOTR TWARÓG,

GRZEGORZ PIETRZAK

Gr. PON/N 09:00-12:00

Laboratorium Protokołów transmisji cyfrowych

i systemów wbudowanych



Temat zadania: Monitorowanie warunków

w szklarni przy pomocy mikrokontrolera

Stanowisko pracy do konfiguracji mikrokontrolera

Prowadzący:

dr inż. Jan Nikodem
Spis treści


  1. Wymagany sprzęt oraz oprogramowanie 1

  2. Podłączanie sprzętu 2

  3. Instalacja WinAVR 2

  4. Instalacja Ethernut 3

  5. Instalacja PonyProg 3

  6. Kompilacja programu 4

  7. Programowanie mikrokontrolera 5



1. Wymagany sprzęt oraz oprogramowanie

Programowanie mikrokontrolerów znajdujących się na płytach ewaluacyjnych firmy Propox odbywa się zazwyczaj w języku C albo w assemblerze, w zależności od złożoności projektu. W na­szym przypadku użyty został język C, do którego kompilacji służy odmiana otwartego kompilatora gcc o nazwie avr-gcc. Wynikiem pracy avr-gcc jest plik .hex, zawierający dane dla programatora. W procesie programowania wymagane są:




  • Programator ISPcable I podłączany do portu LPT (link do sklepu). Na płytce z mikrokontro­lerem znajduje się złącze ISP, przeznaczone dla tego typu urządzeń (pod żadnym pozorem nie można pomylić go z sąsiednim złączem JTAG!).

  • Pakiet WinAVR w wersji 20070525 (zalecana jest instalacja dokładnie tej wersji, z uwagi na jej poprawną współpracę z systemem Ethernut), zawierający zestaw aplikacji niezbędnych do kompilowania i debugowania programów przeznaczonych dla mikrokontrolera (w tym m.in. avr-gcc). Licencja GPL/freeware, w zależności od komponentu składowego. Dostępny na stronie http://winavr.sourceforge.net/.

  • System operacyjny Ethernut w wersji 4.4.0 wspomagający m.in. obsługę stosu protokołów TCP oraz wielowątkowość. Licencja GPL, do ściągnięcia na stronie http://ethernut.de.

  • Aplikacja PonyProg w wersji 2000, służąca do wgrywania programów zawartych w plikach .hex. Licencja GPL, do ściągnięcia na stronie http://www.lancos.com/ppwin95.html.



2. Podłączanie sprzętu



Ilustracja 1: Lokalizacja złącza ISP na płytce (pokazana jest lewa górna część mikrokontro­lera)

Podłączanie sprzętu sprowadza się do wpięcia progra­matora do złącza ISP na mikrokontrolerze (pomylenie go ze złączem JTAG doprowadziłoby prawdopodobnie do bezpow­rotnego zniszczenia płytki) oraz gniazda LPT w komputerze.


Programator można przyłączać i odłączać w dowolnej chwili, jego obecność w złączu ISP nie powoduje żadnych negatywnych skutków. Podczas programowania płytka musi być włączona, na czas wgrywania nowego oprogramowania przechodzi ona do stanu resetu (nie wykonuje dotychczas za­pisanego kodu).

3. Instalacja WinAVR

Instalowanie pakietu WinAVR jest bardzo proste, wymaga jedynie określenia ścieżki insta­lacji oraz wyboru komponentów. Na stronie dotyczącej komponentów składowych należy koniecz­nie zaznaczyć opcję „Add directories to PATH (Recommended)”, w przeciwnym wypadku nie za­działa ani avr-gcc, ani make.




Ilustracja 2: Okno wyboru komponentów, w którym trzeba zaznaczyć opcję "Add directories to PATH"


Aby upewnić się, że ścieżka przeszukiwania PATH została poprawnie ustawiona, należy wejść do Panelu sterowania, wybrać „System”, a następnie zakładkę „Zaawansowane” i przycisk „Zmienne środowiskowe”. Jeśli na dolnej liście znajduje się pozycja „Path”, i nie zawiera ona ście­żek dostępu \bin i \utils\bin, trzeba je tam koniecznie dodać.


4. Instalacja Ethernut

Po ściągnięciu wersji 4.4.0 i zainstalowaniu w dowolnym katalogu (instalator nie zadaje do­datkowych pytań) należy uruchomić Nut/OS Configurator (jest w Menu Start). Pojawi się okno wy­boru pliku, należy w nim odszukać plik ethernut13g.conf, dostarczony na płycie CD wraz z niniej­szym projektem. Wybór złego pliku wpłynie negatywnie na działanie interfejsu sieciowego, ze względu na różnice w adresacji modułu ethernetowego.




Ilustr. 3: Wybór kompilatora

Po pojawieniu się okna Configuratora, pierwszym krokiem jest usta­wienie odpowiedniego kompilatora C poprzez rozwinięcie na zielonej liście elementu „Tools” i zaznaczenie „GCC for AVR”. Następnie należy wybrać z górnego menu polecenie „Edit” > „Settings”:




  • w zakładce „Build” ustawić „platform” na „avr-gcc”,

  • w zakładce „Tools” ustawić ścieżki dostępu do WinAVR (\bin; \utils\bin)

  • w zakładce „Samples” zmienić „Programmer” na „avr-dude”

Teraz można już zatwierdzić zmienione opcje i przystąpić do skompi­lowania Nut/OS poprzez wybranie z menu „Build” > „Build Nut/OS”. Po dłuższej chwili Ethernut jest już zainstalowany i gotowy do użycia.




Ilustracja 4: Okno konfiguracyjne Nut/OS, zakładki Build, Tools i Samples



5. Instalacja PonyProg

PonyProg2000 jest aplikacją służącą do wgrywania programów do pamięci mikrokontrolera, aby rozpocząć z nią pracę trzeba skonfigurować obsługę programatora ISPcable I. Po zainstalowa­niu i uruchomieniu programu należy:



  • w
    Ilustracja 5: Interface setup
    menu „Device” > „AVR micro” zaznaczyć pozycję „ATMega 128”,

  • w oknie „Setup” > „Interface setup” zmienić zaznacze­nie z „Serial” na „Parallel”, następnie wybrać z listy „Avr ISP I/O” i zaznaczyć port LPT do którego przyłą­czony jest programator.

Najprostszą i nieinwazyjną metodą sprawdzenia połą­czenia między mikrokontrolerem a komputerem jest odczyt bi­tów konfiguracyjnych, dostępny w menu „Command” > „Se­curity and configuration bits”. Po wybraniu tej pozycji z menu i kliknięciu na „Read” PonyProg spróbuje nawiązać łączność ze sprzętem.



5. Kompilacja programu

Wszystkie programy niezbędne do kompilacji projektu są już zainstalowane, można więc przystąpić do budowania poprzez avr-gcc pliku .hex, z którego korzysta PonyProg. Katalog z kodem źródłowym projektu należy skopiować do katalogu „nutapp” Ethernuta (znajdują się tam niezbędne pliki takie, jak Makerules, Makedefs i NutConf.mk). W innych niż „nutapp” lokalizacjach nie zadziała „make”, bez którego bardzo ciężko skompilować kod z dołączonymi bibliotekami Nut/OS.


Po skopiowaniu plików trzeba uruchomić konsolę (Menu Start > Uruchom > „cmd”), przejść w niej do utworzonego przed chwilą folderu z kodem, a następnie wpisać „make clean” i „make all” w celu wywołania poleceń znajdujących się w pliku Makefile. Jeśli podczas kompilacji wystąpią błędy, wówczas w ostatnich zwróconych przez avr-gcc linijkach tekstu znajdzie się informacja:
make[1]: *** [szklarnia.o

make[1]: Leaving director

make: *** [all] Error 2
Jeśli podczas kompilacji nie wykryty zostaje żaden błąd, w katalogu projektu pojawia się plik .hex gotowy do wczytania do mikrokontrolera. Poniżej znajduje się przykładowa sesja z kompilatorem:


Ilustracja 6: Prawidłowa sesja pracy z kompilatorem


6. Programowanie mikrokontrolera

Wygenerowany w poprzednim podpunkcie plik .hex należy zapisać, za pośrednictwem Po­nyProg2000, do pamięci mikrokontrolera. Oto kolejne kroki programowania układu:




  1. Włączenie PonyProg2000 i w menu „File” > „Open device file” wybranie żądanego pliku z rozszerzeniem .hex.

  2. Podłączenie programatora do złącza ISP po stronie mikrokontrolera i LPT po stronie kom­putera.

  3. Uruchomienie mikrokontrolerami

  4. Wybranie z menu „Command” > „Erase”, a następnie „Command” > „Write all” (lub za­miast tych dwóch „Command” > „Program”).

  5. Programowanie trwa do kilku minut, przechodzi przez fazy „Erasing”, „Writing” i „Verify­ing”.

  6. Po zakończeniu programowania mikrokontroler automatycznie rozpoczyna wykonywanie zapisanego przed chwilą kodu, nie jest wymagane odłączanie programatora.

Niestety PonyProg jest oprogramowaniem niestabilnym, powodującym częste problemy podczas pracy. Najczęściej spotykane jest zawieszanie się podczas zapisu do pamięci mikrokontro­lera – jeśli pasek postępu zatrzyma się na dłużej należy anulować zapis, a w razie niepowodzenia zakończyć PonyProg przez Menedżer zadań i próbować ponownie załadować program.





©absta.pl 2016
wyślij wiadomość

    Strona główna