Értékelés:

Jelenleg nincsenek olvasói vélemények. Az értékelés 8 olvasói szavazat alapján történt.
Applying C For The IoT With Linux
Applying C az a könyv, amelyre szüksége van, ha Linuxot futtató egylapos számítógépek (SBC) számára programoz, vagy ha bármilyen C nyelven végez hardverrel interakcióba lépő kódolást. Mivel ennek a tudásanyagnak nincs jó neve, nem könnyű egyetlen forrást találni hozzá. Ez a könyv összegyűjti ezeket az alacsony szintű, hardverorientált és gyakran hardver-specifikus ötleteket. Mint ilyen, ez egy közepesen haladó könyv. Ez nem azt jelenti, hogy nehéz, de feltételezi, hogy már tudunk C nyelven programozni, és ismerjük a C alapvető idiómáit.
Egy program automatikus futtatásának nagyon egyszerű feladatából kiindulva megvizsgáljuk, hogyan működik a programunk a felhasználói módú Linuxon. Ha hardverrel dolgozol, az aritmetikát nem lehet figyelmen kívül hagyni, és külön fejezeteket szentelünk az egész számokkal, a fixpontos és a lebegőpontos aritmetikának. Ugyanígy, az I/O kezeléséhez jól kell ismerned a fájlokat és az álfájlrendszert. A dev/mem fájl a memóriakártyás fájlokkal együtt lehetővé teszi a nyers memóriával való munkát anélkül, hogy a felhasználói módot elhagynánk. A socketek általános célú módjai a hálózatokon és hasonló infrastruktúrákon keresztüli kommunikációnak, és itt a hangsúly az interneten keresztüli adatküldésen van, és ehhez egy webklienst és egy szervert építünk.
Ezután a grafikával foglalkozunk, amit talán szokatlannak találsz egy kis rendszerekről szóló könyvben, de ma már a kis rendszerek is rendelkeznek GPU-kkal, és a grafika alapfelszereltségként érkezik. Gyakran gondolkodunk azon, hogy olcsó kimeneti eszközöket, például 7 szegmensű kijelzőket adjunk hozzá az IoT-eszközökhöz, de az olcsó HDMI/DVI-kijelzőkkel költséghatékonyabbá válik, ha egyszerűen a beépített grafikus hardvert használjuk.
Ezután rátérünk a Pthreads használatával történő többfeladatos munkavégzésre. A szálak vizsgálata mellett megvizsgáljuk a zárolást, a mutex és a feltételváltozók használatát, valamint az ütemezést. Bár a megszakítások nem léteznek a felhasználói módú Linuxban, a poll és a szálak használatával nagyon közel kerülhetünk hozzájuk. Most, hogy a több mag már az olcsó SBC-k jellemzője is, a későbbi fejezetekben foglalkozunk a magok kezelésével, megnézzük a C11 atomjait, és bemutatjuk a memóriamodelleket és a korlátokat. Végül röviden megvizsgáljuk, hogyan keverhetjük az assemblert a C-vel.
Harry Fairhead hardveres háttérrel rendelkezik, és mivel sok éven át mikroprocesszorokkal és általában elektronikával foglalkozott, lelkes híve az IoT-nek. Ő a szerzője a Fundamental C: Getting Closer To The Machine (Alapvető C: Közelebb a géphez) című könyvnek, és más, nemrégiben megjelent könyvei közé tartozik a Raspberry Pi IoT in C és a Micro: bit IoT in C.