Applying C For The IoT With Linux

Bog
  • Format
  • Bog, paperback
  • Engelsk
  • 334 sider

Beskrivelse

Applying C is the book you need if you are programming for Single Board Computers (SBCs) that run Linux, or if you do any coding in C that interacts with the hardware. As there isn't a good name for this body of knowledge, it isn't easy to find a single source for it. This book gathers together all of these low-level, hardware-oriented and often hardware-specific ideas. As such it is a moderately advanced book. This is not to say that it is difficult, but it does presuppose that you already know how to program in C and that you know the basic idioms of C.

Starting off from the very simple task of making a program run automatically, we look at how your program works with user-mode Linux. If you are working with hardware, arithmetic cannot be ignored and separate chapters are devoted to integer, fixed-point and floating-point arithmetic. Equally, to handle I/O you need to have a good grasp of files and the pseudo file system. The dev/mem file coupled with memory-mapped files makes it possible to work with raw memory without leaving user mode. Sockets are general-purpose way of communicating over networks and similar infrastructure and here the focus is on sending data over the internet and for this we build a web client and a server.

Next we consider graphics, which you might find unusual in a book on small systems, but today even small systems have GPUs and graphics comes as standard. It is common to think of adding low-cost output devices such as 7-segment displays to IoT devices, but with low cost HDMI/DVI displays available it becomes cost effective to simply use the built-in graphics hardware.

After this we turn to the idea of multi-tasking using Pthreads. As well as looking at threads, we consider locking, using mutex and condition variables, and scheduling. Although interrupts don't exist in user-mode Linux, we can get very close using poll and threading. Now that multiple cores are a feature of even low-cost SBC, in later chapters we cover managing cores, look at C11's atomics and introduce its memory models and barriers. Finally we take a short look at how to mix assembler with C.

Harry Fairhead has a hardware background and, having worked with microprocessors and electronics in general, for many years, he is an enthusiastic proponent of the IoT. He is the author of Fundamental C: Getting Closer To The Machine and his other recent titles include Raspberry Pi IoT in C and Micro: bit IoT in C.

Læs hele beskrivelsen
Detaljer
  • SprogEngelsk
  • Sidetal334
  • Udgivelsesdato29-05-2019
  • ISBN139781871962611
  • Forlag I/O Press
  • FormatPaperback
  • Udgave0
Størrelse og vægt
  • Vægt575 g
  • Dybde1,7 cm
  • coffee cup img
    10 cm
    book img
    19,1 cm
    23,4 cm

    Findes i disse kategorier...

    Se andre, der handler om...

    Velkommen til Saxo – din danske boghandel

    Hos os kan du handle som gæst, Saxo-bruger eller Saxo-medlem – du bestemmer selv. Skulle du få brug for hjælp, sidder vores kundeservice-team klar ved både telefonerne og tasterne.

    Om medlemspriser hos Saxo

    For at købe bøger til medlemspris skal du være medlem af Saxo Premium, Saxo Shopping eller Saxo Ung. De første 7 dage er gratis for nye medlemmer. Medlemskabet fornyes automatisk og kan altid opsiges. Læs mere om fordelene ved vores forskellige medlemskaber her.

    Machine Name: SAXO081