LPC2000. Mikrokontrolery z rdzeniem ARM7.
Opis
Mikrokontrolery z rdzeniem ARM od wielu lat budzą duże emocje - są one powszechnie spotykane w telefonach komórkowych, grach multimedialnych, nawigacjach samochodowych, routerach czy palmtopach. Są to układy charakteryzujące się wysoką wydajnością (m.in. 32-bitowy rdzeń) z wbudowanymi licznymi układami peryferyjnymi i, co wydaje się najważniejsze, są one oferowane przez wielu producentów (m.in. Atmel, Freescale, NXP, Texas Instruments). Ponieważ układy różnych producentów są zbudowane w oparciu o wspólny rdzeń, wiele narzędzi programowych (np. kompilatory) czy sprzętowych (np. interfejsy JTAG) jest wspólnych dla wielu rodzin mikrokontrolerów. W książce zawarto praktyczne wprowadzenie w świat programowania w języku C mikrokontrolerów z rdzeniem ARM7. Przykłady zawarte w książce pokazują sposób wykorzystywania zasobów wbudowanych w mikrokontrolery z rodziny LPC2000 firmy NXP, które są obecnie najpopularniejszymi układami stosowanymi przez konstruktorów.
Spis treściOd autora.......................................................................................................................51. Rdzeń ARM7TDMI-S ............................................................................................... 71.1. Wstęp ....................................................................................................................81.2. Architektura RISC. Charakterystyka procesora ARM7TDMI-S ..........................81.3. Tryby ochrony procesora ....................................................................................111.4. Rejestry ...............................................................................................................131.5. Wyjątki procesora................................................................................................181.6. Lista instrukcji ARM ..........................................................................................202. Mikrokontrolery LPC213x/LPC214x .................................................................. 252.1. Wstęp ..................................................................................................................262.2. Porty wejścia-wyjścia (GPIO) oraz zasilanie mikrokontrolera ...........................282.3. Magistrale wewnętrzne mikrokontrolera ............................................................322.4. Przestrzeń adresowa mikrokontrolera. Kontroler pamięci MAM .......................342.5. Sygnał zegarowy i układ zerowania mikrokontrolera .........................................372.6. Przerwania zewnętrzne, tryby oszczędzania energii ...........................................403. Przykłady aplikacji .................................................................................................. 433.1. Najprostsza aplikacja mikrokontroleraLPC213x/214x .......................................443.2. Zestaw uruchomieniowy ZL9ARM ....................................................................464. Środowisko programistyczne................................................................................. 514.1. Wstęp ..................................................................................................................524.2. Instalacja oprogramowania .................................................................................524.3. Składniki projektu dla LPC21xx .........................................................................584.4. Automatyzacja kompilacji projektu za pomocą GNU make ...............................594.5. Skrypty linkera ....................................................................................................664.6. Programowanie pamięci Flash w mikrokontrolerach LPC21xx .........................704.7. Praca w środowisku Eclipse – pierwszy projekt .................................................734.8. Kilka słów o programie węża świetlnego ...........................................................765. Podstawowe urządzenia peryferyjne mikrokontrolera .................................. 795.1. Wstęp, start systemu............................................................................................805.2. Mapowanie pamięci, czyli rejestr MEMMAP ....................................................815.3. Konfiguracja pętli PLL oraz sygnałów zegarowych ...........................................825.4. Konfiguracja kontrolera pamięci MAM..............................................................855.5. Pozostałe elementy pliku startowego ..................................................................875.6. Detektor zaniku napięcia, wykrywanie przyczyny zerowania ............................905.7. Tryby oszczędzania energii .............................................................
