Jacek Augustyn "Projektowanie systemów wbudowanych na przykładzie rodziny SAM7S z rdzeniem ARM7TDMI"
Książka z zakresu projektowania i programowania aplikacji dla 32-bitowych mikrokontrolerów SoC z rdzeniem ARM7TDMI na przykładzie rodziny AT91SAM7S. Omówiono rdzeń ARM7TDMI, listę rozkazów w trybie ARM oraz budowę procesorów rodziny AT91SAM7S. Zagadnienia zilustrowano przykładami wielu praktycznych rozwiązań sterowników wybranych urządzeń peryferyjnych. Przedstawione programy ilustrują metodykę rozwiązywania problemów napotkanych w trakcie projektowania i implementowania wbudowanych systemów sterujących i pomiarowo-sterujących.
Pierwsza książka w języku polskim o programowaniu procesorów z rdzeniem ARM7TDMI
Książka zawiera między innymi:
Spis treści- opis rdzenia ARM7TDMI,
- opis listy rozkazów rdzenia ARM7TDMI 32-bit ARM z przykładami,
- opis architektury procesorów AT91SAM7S, większość informacji może być wykorzystana przy programowaniu m.in. rodzin SAM7X, 7SE, 7XC,
- opis jakie pełni funkcje i co powinien zawierać plik startowy dla rdzeni ARM7TDMI dowolnych producentów, opis inicjalizacji kluczowych urządzeń peryferyjnych konfigurowanych podczas startu procesorów SAM7S i 7X (może być pomocna także dla 7SE, 7XC),
- wytyczne jak projektować i programować systemy wbudowane (a więc przeznaczone głównie dla mikrokontrolerów),
- notacja JagNOT zmniejszająca „nazewniczą zmorę” podczas programowaniu urządzeń peryferyjnych,
- opis 13 urządzeń peryferyjnych, ich działania, struktury rejestrów oraz praktyczne przykłady programowania (25 sterowników/modułów):
- kontroler resetu RSTC oraz jego sterownik,
- kontroler pamięci MC oraz jego sterownik,
- układ nadzorujący WDG oraz jego sterownik,
- obwód oscylatora i blok pętli fazowej CKGR/PLL, blok zegara PMC,
- mapowanie pamięci,
- kontroler wyprowadzeń PIO,
- sterownik GPIO,
- sterownik LED,
- sterownik mikrowyłączników,
- sterownik klawiatury w trybie odpytywania,
- sterownik wyświetlacza LCD,
- programowy sterownik menu hierarchicznego (obsługa użytkownika, funkcje wybierane z menu),
- kontroler przerwań AIC oraz jego sterownik (jedno z najistotniejszych urz. peryferyjnych),
- kontroler bezpośredniego dostępu do pamięci DMA PDC oraz jego sterownik,
- port DBGU,
- sterownik DBGU w trybie odpytywania,
- sterownik DBGU z użyciem DMA i kontrolera przerwań,
- śledzenie pracy systemu,
- timer PIT,
- sterownik timera PIT,
- odmierzanie czasu systemowego sterownik klawiatury z użyciem timera i syst. przerwań,
- moduł programowego sprawdzania przekroczenia czasu oczekiwania,
- timer PWM,
- sterownik timera PWM/sterowanie mocą/napięciem,
- sterownik timera PWM do zgłaszania okresowych przerwań,
- przetwornik AD,
- sterownik przetwornika AD w trybie odpytywania,
- sterownik przetwornika AD z użyciem kanału DMA,
- sterownik timera TC do precyzyjnego wyzwalania konwersji w przetworniku AD,
- port USART,
- sterownik portu USART z użyciem kanału DMA i systemu przerwań,
- sterownik komunikacji pakietowej (protokół pakietowy, sterownik przeznaczony do szybkiej wymiany pakietów danych binarnych),
- wybrane informacje o pozostałych urządzeniach peryferyjnych,
- kody sterowników (driverów) mogą służyć jako „klocki” do budowy własnych systemów, można bez żadnych zmian (co zostało przetestowane) użyć je w rodzinie SAM7X i pochodnych,
- 25 przykładów aplikacji stanowiących punkt wyjścia do rozwijania własnych, zależnych od przeznaczenia systemów,
- schemat starter-kit’a z procesorem SAM7S „na amatorską kieszeń”, może być on starter-kit’em umożliwiającym praktyczne programowanie tych procesorów, a równocześnie modułem bazowym do użycia we własnych, docelowych systemach.
Zachęca się czytelników do wyrażania opinii na temat książki. Cenne informacje od czytelników pomogą w przygotowaniu kolejnej książki.