Miałeś problemy z programowaniem? Nie wiedziałeś z czego się uczyć? Na szczęście na rynku pojawia się coraz więcej książek związanych z mikrokontrolerami.
W tej recenzji przyjrzałem się kolejnej pozycji wydawnictwa Helion. Zapoznaj się z nią, jeśli stoisz przed wyborem kursu programowania.
W podsumowaniu tej recenzji postaram się napisać, czy faktycznie tak jest. Niedawno przesiadłem się z Bascoma na C. Pamiętając moje problemy, mogłem spojrzeć na tę książkę okiem osoby początkującej.
Środowiska i programatory
Początek książki to dokładny opis środowiska w jakim będziemy pracować – AVR Studio. Został wzbogacony licznymi zrzutami ekranu. Szczegółowe opisy prowadzą nas przez proces instalacji. Następnie omówione zostały programy narzędziowe:
linker
avr-size
avr-nim
avr-objcopy
Warto zwrócić uwagę, że w opisach nie pominięto również użytkowników systemów operacyjnych z rodziny Linux. Dla mnie zabrakło tu jednak wzmianki na temat innych bardzo popularnych edytorów – przykładowo Eclipse.
Kolejny rozdział omawia proces programowania mikroprocesora programatorami ISP oraz JTAG. W obu przypadkach opisane są zalety każdego rozwiązania. Znajdziemy również krótkie informacje na temat wgrywania programów do wielu procesorów jednocześnie. Co więcej, pojawiły się również informacje na temat programatorów HW, równoległych oraz trybu TPI.
Autor podjął się także zasugerowania użytkownikom, jakich programów warto używać do przesyłania wsadów do procesorów. Oprócz standardowych narzędzi zaszytych w AVR Studio pojawiają się również opisy AVRDUDE oraz PonyProg. Na marginesie dodam, że ten pierwszy upodobała sobie większość użytkowników naszego forum. Na koniec omówione zostały lock bity, fuse bity oraz zagadnienie sygnatury mikroprocesora.
Okładka książki [przód, tył]
Język C
Znajdziemy tutaj też opisane podstaw języka C. Należy zaznaczyć, że z książki tej nie można nauczyć się samego C (co raczej nie było zamiarem autora – takie odniosłem wrażenie). Opisane zostały wszystkie najważniejsze części języka, szczególnie te, których niezbyt często używa się podczas programowania mikrokontrolerów.
Wszystko odebrałem jako powtórkę dla osoby programującej wcześniej. Omówiono typy danych, arytmetykę stało- oraz zmiennopozycyjną, operacje bitowe, zasięg widoczności funkcji i zmiennych, słowa kluczowe oraz dyrektywy preprocesora.
Nie zabrakło również informacji na temat plików źródłowych i nagłówkowych. Omówiono jeszcze sekcje programu:
.text,
.data,
.bss,
eeprom,
z kodem programu,
sekcje specjalne tworzone przez programistę.
Było to coś, z czym nie spotkałem się do tej pory w innych książkach.
Mikrokontrolery AVR
Kolejne rozdziały dotyczą programowania procesorów AVR. W książce tej pojawia się wiele procesorów z różnych rodzin - od Tinny, przez Mega aż do Xmega. Autor na ich przykładzie przedstawia specyficzne problemy i możliwości, dotyczące konkretnych podrodzin mikroprocesorów Atmela.
Dalsze części to wyjaśnienia, dotyczące zarządzania energią, różnymi typami pamięci mikroprocesorów oraz dostępem do nich. Pojawiły się tutaj również informacje na temat rzadziej opisywanego w książkach interfejsu XMEM. Wszystkie opisy wzbogacone są odwołaniami do konkretnych rejestrów i przykładami kodów.
Następne rozdziały standardowo poświęcone zostały poszczególnym peryferiom procesorów. Prócz teorii, przedstawiano też praktyczne rzeczy, takie jak obsługa enkoderów czy tworzenie wielopoziomowego menu. Każdemu interfejsowi komunikacji poświęcono osobny rozdział. Znajdziemy tutaj opisy:
SPI,
TWI,
USI,
USART,
1-wire,
USB.
W książce możnarównieżznaleźć informacje na temat łączenia kilku procesorów tak, aby mogły się ze sobą komunikować.
Bezpieczeństwo i wydajność
Ostatnie rozdziały poświęcone zostały bootladerom oraz zabezpieczaniu własnych programów (CRC, AES Bootloader). Pojawiają się wzmianki na temat łączenia kodu C wraz z tym pisanym w asemblerze. Koniec książki traktuje o optymalizacji tworzonych programów oraz debugowaniu ich za pomocą interfejsu JTAG - tematy często pomijane w innych pozycjach.
Warto wspomnieć, że książka nie opiera się na żadnym konkretnym zestawie uruchomieniowym.
Autor na samym początku wymienił elementy, na których będzie można przeprowadzić wszystkie lekcje. Czytając tę pozycję zwróciłem uwagę na kilka rzeczy, jakie nie utkwiły mi w pamięci po lekturze innych książek (atomowość dostępu, atrybuty weak oraz wiele innych).
Patrząc okiem początkującego w C, spodobało mi się, że nie pominięto prostych spraw, które na początku mogą sprawiać problemy. Może to błahy przykład, ale pozytywnie zaskoczył mnie mały rozdział traktujący wyłącznie o dostępie do danych 16-bitowych (łączenie i dzielenie rejestrów). Niby proste i oczywiste, ale miałem z tym problemy przy pierwszych projektach pisanych w C. Książka moim zdaniem jest idealnym uzupełnieniem wiedzy dla osób zaczynających swoją przygodę z mikrokontrolerami. Zainteresowanych zakupem odsyłam do odpowiednich stron. Książka dostępna jest w wersji papierowej oraz tańszej elektronicznej.
Dołącz do 20 tysięcy osób, które otrzymują powiadomienia o nowych artykułach! Zapisz się, a otrzymasz PDF-y ze ściągami (m.in. na temat mocy, tranzystorów, diod i schematów) oraz listę inspirujących DIY na bazie Arduino i Raspberry Pi.
To nie koniec, sprawdź również
Przeczytaj powiązane artykuły oraz aktualnie popularne wpisy lub losuj inny artykuł »
Dołącz do 20 tysięcy osób, które otrzymują powiadomienia o nowych artykułach! Zapisz się, a otrzymasz PDF-y ze ściągami (m.in. na temat mocy, tranzystorów, diod i schematów) oraz listę inspirujących DIY z Arduino i RPi.
Trwa ładowanie komentarzy...