AVR_Praktyczne_projekty_avrppr.pdf

(1907 KB) Pobierz
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi
ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak
żadnej
odpowiedzialności ani za ich wykorzystanie, ani
za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Wydawnictwo HELION nie ponoszą również
żadnej
odpowiedzialności za ewentualne szkody
wynikłe z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Michał Mrowiec
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
Fotografia na okładce została wykorzystana za zgodą Shutterstock.com
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie?avrppr
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Kody
źródłowe
wybranych przykładów dostępne są pod adresem:
ftp://ftp.helion.pl/przyklady/avrppr.zip
ISBN: 978-83-246-7877-8
Copyright © Helion 2013
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Rozdziaä 1. Wstöp, czyli nowi czäonkowie rodziny AVR ....................................... 11
Przykáady do ksi ki ....................................................................................................... 12
Mikrokontrolery XMEGA .............................................................................................. 12
Errata ........................................................................................................................ 14
XMEGA a inne AVR-y .................................................................................................. 15
Kompilator ............................................................................................................... 15
Nowe peryferia ......................................................................................................... 16
Rozdziaä 2. Jak zaczñè, czyli instalacja rodowiska ........................................... 21
Xplained jako páyta rozwojowa ...................................................................................... 22
Instalacja Xplained w systemie ................................................................................ 22
Instalacja XMEGA z bootloaderem klasy DFU ....................................................... 25
Programowanie ukáadów XMEGA ................................................................................. 25
Wczytywanie firmware za pomoc FLIP ................................................................. 26
Bootloader firmy Atmel ........................................................................................... 28
Podstawowe opcje programu batchisp ...................................................................... 28
Interfejs JTAG .......................................................................................................... 32
Programowanie z wykorzystaniem interfejsu PDI ................................................... 34
Programatory .................................................................................................................. 34
AVRISP mkII ........................................................................................................... 35
JTAGICE mkII ......................................................................................................... 35
JTAGICEIII .............................................................................................................. 36
AVROne! ................................................................................................................. 36
AVR Dragon ............................................................................................................ 36
Programowanie i debugowanie procesorów XMEGA .................................................... 43
Odsprz ganie zasilania ................................................................................................... 44
Instalacja potrzebnego oprogramowania ........................................................................ 44
Atmel Studio 6 — podstawy .................................................................................... 45
Programowanie z poziomu AS6
— dlaczego warto korzystaü z plików w formacie elf .................................................. 53
Rozdziaä 3. Organizacja i zarzñdzanie projektem ................................................ 55
Komentarze .................................................................................................................... 55
Nazewnictwo .................................................................................................................. 57
Literaáy ..................................................................................................................... 59
Podziaá kodu na pliki ...................................................................................................... 61
Widoczno ü funkcji .................................................................................................. 66
Widoczno ü zmiennych ............................................................................................ 66
Kup książkę
Poleć książkę
4
AVR. Praktyczne projekty
Podkatalogi ............................................................................................................... 67
Podziaá funkcji ......................................................................................................... 69
Zmienne globalne ........................................................................................................... 70
Systemy wersjonowania ................................................................................................. 74
Serwer SVN na wáasnym komputerze ...................................................................... 75
Jak korzystaü z SVN ................................................................................................ 78
Praca z SVN ............................................................................................................. 81
Uwagi ko cowe ........................................................................................................ 84
Inne uáatwienia ............................................................................................................... 85
Jak pisaü lepsze programy? ............................................................................................ 86
Rozdziaä 4. Jak tworzyè lepszy i efektywniejszy kod .......................................... 89
Wá czenie optymalizacji ................................................................................................. 90
Dáugo ü typów ................................................................................................................ 91
Zmienne globalne i zmienne lokalne .............................................................................. 93
Modyfikator register ....................................................................................................... 94
U ycie globalnych rejestrów ogólnego przeznaczenia ................................................... 97
Wykorzystanie innych rejestrów jako GPIOR .......................................................... 99
Inicjalizacja zmiennych globalnych ................................................................................ 99
Poáo enie zmiennych w pami ci ..................................................................................... 99
Optymalizacja p tli ....................................................................................................... 100
Optymalizacja funkcji ................................................................................................... 101
Optymalizacja funkcji main ................................................................................... 101
Optymalizacja prologów i epilogów funkcji .......................................................... 101
Optymalizacja przekazywania parametrów funkcji ................................................ 102
Optymalizacja zwracania wyników funkcji ............................................................ 105
Dodatkowe atrybuty funkcji ................................................................................... 106
Inne ........................................................................................................................ 110
Eliminacja martwego kodu ........................................................................................... 111
Konstruktory i destruktory ............................................................................................ 114
Rozdziaä 5. Jak uporzñdkowaè chaos, czyli zäo one typy danych i listy ............. 117
Tablice .......................................................................................................................... 118
Struktury ....................................................................................................................... 119
Deep copy i shallow copy ...................................................................................... 123
Wska niki i struktury ............................................................................................. 126
Struktury anonimowe ............................................................................................. 127
Inicjalizacja pól struktury ....................................................................................... 128
Unie ........................................................................................................................ 129
Pola bitowe ............................................................................................................. 130
Struktury a optymalizacja programu ...................................................................... 131
Listy .............................................................................................................................. 135
Listy jednokierunkowe ........................................................................................... 136
Listy dwukierunkowe ............................................................................................. 140
Listy XOR .............................................................................................................. 142
Bufory ........................................................................................................................... 148
Bufor pier cieniowy ............................................................................................... 149
Kolejki FIFO/LIFO ................................................................................................ 152
Stos ......................................................................................................................... 152
Rozdziaä 6. Koniec baäaganu,
czyli o nazwach rejestrów i ukäadów peryferyjnych ......................... 155
Struktury opisuj ce mikrokontrolery XMEGA ............................................................. 159
Nazwy rejestrów ........................................................................................................... 162
Nazwy bitów ................................................................................................................. 162
Kup książkę
Poleć książkę
Spis tre ci
5
Rozdziaä 7. Lepiej i pro ciej, czyli porty IO procesora na sterydach .................. 167
Piny wej ciowe i wyj ciowe ......................................................................................... 168
Konwersja poziomów logicznych pomi dzy ukáadami pracuj cymi
z ró nymi napi ciami zasilaj cymi ............................................................................ 171
à czenie wyj cia procesora z ukáadem pracuj cym z napi ciem 5 V .................... 171
Zastosowanie aktywnego konwertera ..................................................................... 174
Konwersja z napi cia wy szego na ni sze ............................................................. 174
Dzielnik rezystorowy ............................................................................................. 176
U ycie do konwersji napi ü buforów scalonych .................................................... 177
Bufor dwukierunkowy stosowany w magistralach typu open drain ....................... 178
Kontrola nad portami procesora ................................................................................... 181
Piny wej ciowe i wyj ciowe ......................................................................................... 182
Synchronizator .............................................................................................................. 184
Konfiguracja sterownika pinu ....................................................................................... 186
Konfiguracja totem-pole ......................................................................................... 186
Konfiguracja Pull up/down .................................................................................... 187
Konfiguracja bus keeper ......................................................................................... 188
Konfiguracja wired-AND ....................................................................................... 189
Konfiguracja wired-OR .......................................................................................... 191
Odwracanie wyj ü IO ............................................................................................. 192
Kontrola szybko ci opadania i narastania zboczy .................................................. 193
Kontrola zdarze zwi zanych z pinem ................................................................... 193
Rejestr kontrolny portu ........................................................................................... 194
Atomowa modyfikacja stanu pinów i wsparcie dla RMW ............................................ 196
Alternatywne funkcje pinu ........................................................................................... 199
Porty wirtualne ............................................................................................................. 200
Przekazywanie rejestru jako parametru funkcji ............................................................ 202
Remapowanie wyj ü IO ................................................................................................ 203
Rozdziaä 8. Kontroler NVM — jak prosto i przyjemnie dobraè siö do pamiöci .... 205
Pami ü EEPROM i zwi zane z ni operacje ................................................................ 206
Dost p do EEPROM z poziomu AVR-libc ............................................................ 208
Dost p do EEPROM za pomoc bezpo redniego dost pu do kontrolera NVM ..... 213
Techniki wear leveling ................................................................................................. 219
Rozdzielenie kasowania i zapisu pami ci ............................................................... 221
Dost p do EEPROM z wykorzystaniem tokenów .................................................. 224
EEPROM i awaria zasilania ................................................................................... 232
Problem atomowo ci przy dost pie do EEPROM .................................................. 244
Zapis do EEPROM z u yciem przerwa ................................................................ 244
Zapobieganie uszkodzeniu zawarto ci pami ci EEPROM ........................................... 246
Dost p do pami ci FLASH ........................................................................................... 246
Typy danych zwi zane z pami ci FLASH ............................................................ 248
Odczyt danych z pami ci FLASH .......................................................................... 250
Dost p do FLASH w kompilatorze avr-gcc 4.7 i wy szych
— named address spaces ............................................................................................ 252
Wska niki wykorzystuj ce przestrzenie adresowe ................................................. 254
Typy 24-bitowe ............................................................................................................ 258
Rozdziaä 9. Potrzebujö wiöcej mocy — säów kilka o konfiguracji zegara ........... 259
Rejestry kontrolne zegarów .......................................................................................... 260
Konfiguracja zegara ...................................................................................................... 262
ródáa zegara .......................................................................................................... 263
Odblokowywanie ródáa zegara ............................................................................. 270
Ukáad PLL .............................................................................................................. 270
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin