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.