Cargando…

Embedded Programming with Modern C++ Cookbook Practical Recipes to Help You Build Robust and Secure Embedded Applications on Linux.

This book is a collection of practical examples for understanding how embedded development is different from other desktop application development. You'll learn to build an embedded application and use specialized memory and custom allocators. By the end of the book, you'll be able to buil...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Viarheichyk, Igor
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing, Limited, 2020.
Temas:
Acceso en línea:Texto completo
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • About Packt
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Fundamentals of Embedded Systems
  • Exploring embedded systems
  • How are they different from desktop or web applications?
  • Types of embedded systems
  • Microcontrollers
  • System on Chip
  • Application-specific integrated circuits
  • Field programmable gate arrays
  • Working with limited resources
  • Looking at performance implications
  • Working with different architectures
  • Endianness
  • Alignment
  • Fixed-width integer types
  • Working with hardware errors
  • Early versions of hardware
  • Hardware is unreliable
  • The influence of environmental conditions
  • Using C++ for embedded development
  • You don't pay for what you don't use
  • Object-oriented programming to time the code complexity
  • Resource acquisition is initialization
  • Exceptions
  • The powerful standard library
  • Threads and a memory model as part of the language specification
  • Deploying software remotely
  • Running software remotely
  • Logging and diagnostics
  • Summary
  • Chapter 2: Setting Up the Environment
  • Setting up the build system in a Docker container
  • How to do it...
  • How it works...
  • There's more...
  • Working with emulators
  • How to do it...
  • How it works...
  • There's more...
  • Cross-compilation
  • Getting ready
  • How to do it...
  • How it works...
  • There's more...
  • Connecting to the embedded system
  • Getting ready
  • How to do it...
  • How it works...
  • There's more...
  • Debugging embedded applications
  • Getting ready
  • How to do it...
  • How it works...
  • There's more...
  • Using gdbserver for remote debugging
  • Getting ready
  • How to do it...
  • How it works...
  • There's more...
  • Using CMake as a build system
  • Getting ready
  • How to do it...
  • How it works...
  • There's more...
  • Chapter 3: Working with Different Architectures
  • Exploring fixed-width integer types
  • How to do it...
  • How it works...
  • There's more...
  • Working with the size_t type
  • How to do it...
  • How it works...
  • There's more...
  • Detecting the endianness of the platform
  • How to do it...
  • How it works...
  • There's more...
  • Converting the endianness
  • How to do it...
  • How it works...
  • Working with data alignment
  • How to do it...
  • How it works...
  • There's more...
  • Working with packed structures
  • How to do it...
  • How it works...
  • There's more...
  • Aligning data with cache lines
  • How to do it...
  • How it works...
  • There's more...
  • Chapter 4: Handling Interrupts
  • Data polling
  • Interrupt service routines
  • General considerations for ISRs
  • 8051 microcontroller interrupts
  • Implementing an interrupt service routine
  • How to do it...
  • How it works...
  • Generating a 5 kHz square signal using 8-bit auto-reload mode
  • How to do it...
  • How it works...
  • Using Timer 1 as an event counter to count a 1 Hz pulse