Embedded Systems Architecture : Explore architectural concepts, pragmatic design patterns, and best practices to produce robust systems.
Chapter 7: Local Bus Interfaces; Introducing serial communication; Clock and symbol synchronization; Bus wiring; Programming the peripherals; UART-based asynchronous serial bus; Protocol description; Programming the controller; Hello world!; Newlib printf; Receiving data; Interrupt-based input/outpu...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing,
2018.
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- Cover; Copyright and Credits; Packt Upsell; Contributors; Table of Contents; Preface; Chapter 1: Embedded Systems
- A Pragmatic Approach; Domain definition; Embedded Linux systems; Low-end 8-bit microcontrollers; Hardware architecture; Understanding the challenge; Multithreading; RAM; Flash memory; Interfaces and peripherals; Asynchronous UART-based serial communication; SPI; I2C; USB; Connected systems; The reference platform; ARM reference design; The Cortex-M microprocessor; Summary; Chapter 2: Work Environment and Workflow Optimization; Workflow overview; C compiler; Linker.
- Build automationDebugger; Embedded workflow; The GCC toolchain; The cross-compiler; Compiling the compiler; Linking the executable; Binary format conversion; Interacting with the target; The GDB session; Validation; Functional tests; Hardware tools; Testing off-target; Emulators; Summary; Chapter 3: Architectural Patterns; Configuration management; Revision control; Tracking activities; Code reviews; Continuous integration; Source code organization; Hardware abstraction; Middleware; Application code; The life cycle of an embedded project; Defining project steps; Prototyping; Refactoring.
- API and documentationSummary; Chapter 4: The Boot-Up Procedure; The interrupt vector table; Startup code; Reset handler; Allocating the stack; Fault handlers; Memory layout; Building and running the boot code; The makefile; Running the application; Multiple boot stages; Bootloader; Building the image; Debugging a multi-stage system; Shared libraries; Summary; Chapter 5: Memory Management; Memory mapping; Memory model and address space; The code region; The RAM regions; Peripheral-access regions; The system region; Order of memory transactions; The execution stack; Stack placement.
- Stack overflowsStack painting; Heap management; Custom implementation; Using newlib; Limiting the heap; Multiple memory pools; Common heap usage errors; The memory protection unit; MPU configuration registers; Programming the MPU; Summary; Chapter 6: General-Purpose Peripherals; The interrupt controller; Peripherals interrupt configuration; System time; Adjusting the flash wait states; Clock configuration; Clock distribution; Enabling the SysTick; Generic timers; General-purpose I/O; Pin configuration; Digital output; PWM; Digital input; Interrupt-based input; Analog input; The watchdog.