Ocena:

Książka została dobrze przyjęta ze względu na jasne wyjaśnienia i praktyczne przykłady związane z programowaniem jądra Linuksa, szczególnie dla czytelników posiadających wcześniejszą wiedzę z zakresu programowania w języku C. Należy jednak zauważyć, że może ona nie być odpowiednia dla zupełnie początkujących, a jej treść jest szczególnie związana z niektórymi wersjami Ubuntu, co może ograniczać jej zastosowanie.
Zalety:- Dobrze napisana, z jasnymi wyjaśnieniami kluczowych pojęć. - Mnóstwo praktycznych przykładów kodu do wykorzystania. - Przydatna dla entuzjastów Linuksa i osób rozpoczynających przygodę z programowaniem jądra. - Możliwość dostosowania instrukcji pomimo oparcia ich na konkretnej wersji Ubuntu.
Wady:- Nie nadaje się dla zupełnie początkujących; wymagana jest praktyczna znajomość języka C. - Treść jest powiązana z określonymi wersjami Ubuntu, które nie zawsze są zgodne z najnowszymi wersjami. - Niektórzy recenzenci wyrazili pragnienie bardziej zróżnicowanej treści, takiej jak rozdziały poświęcone Raspberry Pi.
(na podstawie 6 opinii czytelników)
Linux Device Driver Development - Second Edition: Everything you need to start with device driver development for Linux kernel and embedded Linux
Zapoznaj się z najważniejszymi koncepcjami tworzenia sterowników i skoncentruj się na typowych wymaganiach systemu wbudowanego, takich jak zarządzanie pamięcią, zarządzanie przerwaniami i mechanizmy blokowania.
Kluczowe cechy:
⬤ Napisz bogate w funkcje i dostosowane sterowniki urządzeń Linux dla dowolnego urządzenia znakowego, SPI i I2C.
⬤ Dogłębne zrozumienie prymitywów blokowania, zarządzania IRQ, zarządzania pamięcią, DMA itp.
⬤ Zdobądź praktyczne doświadczenie w zakresie wbudowanej strony Linuksa przy użyciu GPIO, IIO i podsystemów wejściowych.
Opis książki:
Linux jest zdecydowanie najczęściej używanym jądrem w systemach wbudowanych. Dzięki swoim podsystemom jądro Linux obsługuje prawie wszystkie obszary zastosowań w świecie przemysłowym. To zaktualizowane drugie wydanie Linux Device Driver Development stanowi kompleksowe wprowadzenie do świata jądra Linux i różnych podsystemów, z których się składa, i będzie przydatne dla programistów systemów wbudowanych z dowolnej dyscypliny.
Dowiesz się, jak skonfigurować, dostosować i zbudować jądro Linux. Wypełniona rzeczywistymi przykładami książka obejmuje każdy z najczęściej używanych podsystemów w domenach wbudowanych, takich jak GPIO, bezpośredni dostęp do pamięci, zarządzanie przerwaniami i sterowniki urządzeń I2C/SPI. Ta książka pokaże ci, jak Linux abstrahuje każde urządzenie z punktu widzenia sprzętu i jak urządzenie jest powiązane z jego sterownikiem (sterownikami). Zobaczysz również, jak przerwania są propagowane w systemie, ponieważ książka dogłębnie omawia mechanizmy przetwarzania przerwań i opisuje każdą zaangażowaną strukturę jądra i interfejs API. W nowym wydaniu omówiono również, jak nie pisać sterowników urządzeń przy użyciu bibliotek przestrzeni użytkownika dla klientów GPIO, I2C i sterowników SPI.
Pod koniec tej książki o Linuksie będziesz w stanie pisać sterowniki urządzeń dla większości urządzeń wbudowanych.
Czego się nauczysz:
⬤ Pobierać, konfigurować, budować i dostosowywać jądro systemu Linux.
⬤ Opisywać sprzęt za pomocą drzewa urządzeń.
⬤ Pisać bogate w funkcje sterowniki platformy i wykorzystywać magistrale I2C i SPI.
⬤ Jak najlepiej wykorzystać nową infrastrukturę kolejek roboczych zarządzanych współbieżnością.
⬤ Zrozumieć mechanizm utrzymywania czasu jądra Linux i korzystać z interfejsów API związanych z czasem.
⬤ Wykorzystanie frameworka regmap do ujednolicenia kodu i uczynienia go ogólnym.
⬤ Odciążenie CPU dla kopii pamięci przy użyciu DMA.
⬤ Interakcja ze światem rzeczywistym przy użyciu GPIO, IIO i podsystemów wejściowych.
Dla kogo jest ta książka:
Ta książka o systemie operacyjnym Linux jest przeznaczona dla entuzjastów/deweloperów systemów wbudowanych i wbudowanych systemów Linux, którzy chcą rozpocząć pracę z rozwojem jądra Linux i wykorzystać jego podsystemy. Ta książka przyda się również elektronicznym hakerom i hobbystom zainteresowanym rozwojem jądra Linuksa, a także każdemu, kto chce wchodzić w interakcje z platformą za pomocą podsystemów GPIO, IIO i wejściowych.