Wstęp do ćwiczeń PE: Uruchamianie programów na

Transkrypt

Wstęp do ćwiczeń PE: Uruchamianie programów na
Materiały pomocnicze:
Uruchamianie programów na mikrokontrolerach AVR
1. Kompilacja programu dla mikrokontrolera
Środowiskiem do tworzenia programów dla mikrokontrolerów AVR jest pakiet WinAVR w
wersji z 10.01.2010 r. Dla każdego zadania należy utworzyć na dysku komputera nowy folder.
Następnie uruchomić program: Menu Start\Programy\WinAVR-20100110\Programmers Notepad
[WinAVR]. Z menu File wybrać New – C/C++ i wpisać tekst programu. Podobnie utworzyć - w
razie potrzeby – pliki nagłówkowe *.h. Wszystkie pliki zapisać w uprzednio utworzonym folderze.
Z folderu C:\WinAVR-20100110\sample skopiować do utworzonego folderu plik makefile.
Następnie w skopiowanym pliku zmienić następujące fragmenty:
# MCU name
MCU = atmega32
# Processor frequency.
F_CPU = 16000000
# Target file name (without extension).
TARGET = nazwa_pliku_programu_bez_rozszerzenia
Po edycji pliku makefile (włączając poprawki właściwe dla każdego z ćwiczeń) można
skompilować program wybierając w menu programu Programmers Notepad pozycję Tools →
[WinAvr] Make All. W przypadku pojawienia się w oknie Output komunikatu innego niż Process
Exit Code: 0 należy poprawić błędy w programie zgodnie z wyświetlonymi komunikatami i
ponownie skompilować program.
Zaleca się aby zespół studencki dysponował na zajęciach nośnikiem typu pendrive do
archiwizacji własnych projektów.
2. Ładowanie skompilowanego programu do mikrokontrolera
W wyniku bezbłędnej kompilacji napisanego programu w folderze zadania powinien się
pojawić plik z rozszerzeniem *.hex zawierający obraz pamięci mikrokontrolera. Za pomocą
programu Kammami AVR programmer należy zaprogramować pamięć FLASH mikrokontrolera
zawartością tego pliku. Po uruchomieniu programu pojawi się okno wg rys. 1.
Po połączeniu programatora i zestawu ZL3AVR kablem taśmowym, zakończonym wtykami
IDC10 należy kliknąć przycisk Identify microcontroller – w liście po lewej stronie powinien zostać
podświetlony procesor ATMega32 (rys. 1). Następnie należy przejść do zakładki Memory
programming (rys. 2). W polu Flash należy wybrać obie opcje : Erase … i Verify … . Następnie
klikając na przycisk z trzema kropkami należy wskazać folder zadania i plik *.hex. Kliknięcie
przycisku Write w polu Flash spowoduje zaprogramowanie pamięci mikrokontrolera zawartości
wskazanego pliku. W ramach realizowanych projektów nie trzeba programować pamięci EEPROM
mikrokontrolera.
2
Rys. 1. Okno programu Kammami AVR program mer, zakładka Microcontroller
Rys. 2. Okno programu Kammami AVR program mer, zakładka Memory programming
W zakładce Fuse bits ustawia się tzw. bity konfiguracyjne mikrokontrolera (rys. 3). Za pomocą
przycisku Read odczytuje się aktualne nastawy tych bitów. Wprowadzenie zmian wymaga
kliknięcia przycisku Write. Do prawidłowego działania programów pisanych w ramach zajęć należy
wprowadzić ustawienia zgodnie z rys. 3 (w szczególności JTAGEN i CKSEL/SUT). W zakładce
Lock bits można blokować możliwość zapisu i odczytu zawartości pamięci Flash i EEPROM
mikrokontrolera, np. w celu ochrony praw autorskich. Podczas zajęć nie należy wprowadzać lub
zmieniać żadnych nastaw w tej zakładce.
Rys. 3. Okno programu Kammami AVR program mer, zakładka Fuse bits
3
Rys. 4. Okno programu Kammami AVR program mer, zakładka Lock bits
Nieumiejętne wprowadzenie nastaw może spowodować zablokowanie mikrokontrolera. W razie
wątpliwości należy konsultować się z prowadzącym.
W ostatniej zakładce Programmer setup (rys. 5) można – po stwierdzeniu poprawności
ustawień bitów konfiguracyjnych – wybrać najwyższą częstotliwość przesyłu danych z
programatora, co przyspiesza proces programowania. W przypadku niewykrywania procesora przez
programator, należy powrócić do ustawienia 100 kHz.
Rys. 5. Okno programu Kammami AVR program mer, zakładka Programmer setup
Wersja z dn. 22.02.2011 r.