My Book – Linux Embedded

In 2012, I published my first book about Linux for embedded systems – “Linux. Podstawy i aplikacje dla systemów embedded“, as a result of my cooperation with Wydawnictwo BTC. The book is a guide about the hardware (GPIO, I2C, 1-Wire, RS232, etc.) and software (Linux kernel, u-boot bootloader) aspects of using Linux on ARM architecture (DevKit8000 board – armv7l).

My book is available only in the Polish language so all below information are directed for Polish readers. If you are interested to translate this book into another language please contact with me via mail.

01

For Polish Readers

Nakładem Wydawnictwa BTC ukazała się moja pierwsza książka “Linux. Podstawy i aplikacje dla systemów embedded“. Książka ta jest kompletnym przewodnikiem omawiającym podstawowe i kluczowe zagadnienia wykorzystania systemu operacyjnego Linux w systemach wbudowanych zbudowanych w oparciu o procesory ARM. Całość zawartego w książce materiału została podzielona na szereg zróżnicowanych tematycznie etapów, umożliwiających szybkie i łatwe rozpoczęcie pracy z komputerami jednopłytkowymi, zarówno zupełnie początkującym Czytelnikom (omówienie podstaw pracy z systemem Linux, zasadności jego wykorzystania w systemach wbudowanych oraz podstawowych zagadnień związanych z warstwą sprzętową), jak i bardziej zaawansowanym (sprzętowa i programowa obsługa GPIO, I2C, 1-Wire oraz RS-232). Lektura niniejszej książki jest kompletnym kursem przygotowującym Czytelnika do rozpoczęcia własnej przygody z Linuksem w systemach wbudowanych – od aplikacji Hello World, aż do konfiguracji i uruchomienia serwera WWW pełniącego funkcje kontrolno-pomiarowe.

UWAGA: W związku z bardzo dużą liczbą zapytań mailowych, które otrzymuję w sprawie książki “Linux. Podstawy i aplikacje dla systemów embedded” i zestawu Raspberry Pi, chciałbym poinformować, że materiały zawarte w książce mogą zostać w pełni wykorzystane do rozpoczęcia własnej “przygody” z zestawem Raspberry Pi. Ze względu na abstrakcję warstwy sprzętowej jaką dostarcza nam system operacyjny Linux, wszystkie przykłady praktyczne oraz teoretyczne opisy zawarte w niniejszej książce, można z powodzeniem uruchomić i przetestować na dowolnej platformie sprzętowej wykorzystującej mikroprocesory ARM i system operacyjny Linux. Specyficzny dla platform z mikroprocesorem OMAP (np. BeagleBoard, BeagleBone czy DevKit8000) jest wyłącznie rozdział 4 (“Uruchomienie systemu na platformie docelowej”). Pozostała poruszana tematyka tj. obsługa diod LED, przekaźników, przycisków, magistral I2C, 1-Wire, RS-232, skrypty CGI, obsługa Bluetooth, itd. jest niezależna od platformy testowej.

Dla kogo adresowana jest książka?

Książka “Linux. Podstawy i aplikacje dla systemów embedded” przeznaczona jest głównie dla osób, które dotychczas nie miały styczności z zagadnieniami wykorzystania dużych systemów operacyjnych na małych mikroprocesorach. Wiele książek już na samym początku wymaga od Czytelnika dobrej znajomości systemu Linux, programowania lub wielu zagadnień związanych z elektroniką. W tej książce przyjąłem tylko jedno założenie – brak założeń. Jeżeli więc nie miałeś więc wcześniej do czynienia z systemem Linux lub techniką mikroprocesorową – nie przejmuj się. Jedyne czego będziesz potrzebował to podstaw znajomości języka C i chęci poznania tego niezwykle ciekawego tematu.

Książkę można nabyć m.in w serwisie Wydawnictwa BTC, sklepie internetowym KAMAMI lub w następujących księgarniach.

Wybór platformy sprzętowej

Zastosowanie systemu operacyjnego dostarcza użytkownikowi wysoki poziom abstrakcji sprzętu (w Linuksie wszystkie peryferia są zwykłymi plikami!), dzięki czemu wszystkie przykłady praktyczne można z powodzeniem uruchomić na dowolnej platformie sprzętowej. Na potrzeby książki wykorzystano zestaw DevKit8000 (brat bliźniak niezwykle popularnego BeagleBoarda) wyposażony w wydajny procesor serii OMAP35xx. Za dobrą platformę sprzętową mogą posłużyć również różne tanie routery internetowe (wykorzystujące dystrybucję OpenWRT). Najlepszy stosunek możliwości do ceny posiadają zestawy FriendlyARM (posiadające dobre wsparcie ze strony społeczności użytkowników).

Do pobrania

  • Wstęp [Pobierz]

  • Spis Treści [Pobierz]

  • kody źródłowe przykładów zawartych w książce [Pobierz]

  • kod źródłowy pakietu i2c-tools [Pobierz]

  • jądro systemu Linux i programy narzędziowe dla zestawu DevKit8000 [Pobierz]

  • pliki w1-gpio.c oraz w1-gpio.h zapewniające poprawną obsługę magistrali 1-Wire w jądrze linux-2.6.28-omap [Pobierz]

  • toolchain arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu [Pobierz]

Recenzje

Recenzja zamieszczona w czasopiśmie NetWorld Nr 7-8/2012 (Piotr Kociatkiewicz)

W książce przedstawiono podstawy wykorzystania komputerów jednopłytkowych, opartych na procesorach z rdzeniem ARM. Wprowadzając do tematyki, autor wyjaśnia jakie narzędzia programowe i sprzętowe należy użyć i jak je skonfigurować. Opisuje sposoby przygotowania kompletnego systemu dla urządzeń wbudowanych. Radzi, jak przygotować system do obsługi portów GPIO, jak pisać w języku C aplikacje komunikujące się ze sprzętem, poczynając od prostej obsługi przycisków i sterowania przekaźnikami, po rozwiązania bardziej złożone, dotyczące interfejsów komunikacyjnych, wśród nich 1-wire, I2C i RS-232. Uczy sposobów wykorzystania menedżera opkg oraz, na przykładzie serwera WWW i łączności Bluetooth, gotowych pakietów oprogramowania. Książka jest świetnym przewodnikiem dla elektroników zaczynających przygodę z komputerami jednopłytkowymi. Od czytelnika nie wymaga się znajomości mikrokontrolerów, ani systemu Linux, natomiast jest pożądana znajomość języka C.

Lukasz Skalski Embedded Software Engineer
Hi, I'm Lukasz Skalski and I'm open source enthusiast and guy who lives and breathes all things related to IT - especially Linux and embedded systems. Have a look around, check out my Resume and Portfolio to catch up some of my projects. Please feel free to contact me. Let's work together and make something great!
Send