售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Copyright and Credits
Embedded Systems Architecture
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
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
Work Environment and Workflow Optimization
Workflow overview
C compiler
Linker
Build automation
Debugger
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
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 documentation
Summary
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
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 overflows
Stack 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
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
Summary
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/output
SPI bus
Protocol description
Programming the transceiver
SPI transactions
Interrupt-based SPI transfers
I2C bus
Protocol description
Clock stretching
Multi-master
Programming the controller
Interrupt handling
Summary
Low-Power Optimizations
System configuration
Hardware design
Clock management
Voltage control
Low-power operating modes
Deep-sleep configuration
Stop mode
Standby mode
Wake-up intervals
Measuring power
Development boards
Designing low-power embedded applications
Replacing busy loops with sleep mode
Deep sleep during longer inactivity periods
Choosing the clock speed
Power state transitions
Summary
Distributed Systems and IoT Architecture
Network interfaces
Media Access Control
Ethernet
Wi-Fi
Low-Rate Wireless Personal Area Networks (LR-WPAN)
LR-WPAN industrial link-layer extensions
6LoWPAN
Bluetooth
Mobile networks
Low-power Wide Area Networks (LPWANs)
Selecting the appropriate network interfaces
The Internet Protocols
TCP/IP implementations
Network device drivers
Running the TCP/IP stack
Socket communication
Mesh networks and dynamic routing
Transport Layer Security
Securing socket communication
Application protocols
Message protocols
REST architectural pattern
Distributed systems – single points of failure
Summary
Parallel Tasks and Scheduling
Task management
The task block
Context switch
Creating tasks
Scheduler implementation
Supervisor calls
Cooperative scheduler
Concurrency and timeslices
Blocking tasks
Waiting for resources
Real-time scheduling
Synchronization
Semaphore
Mutex
Priority inversion
System resource separation
Privilege levels
Memory segmentation
System calls
Summary
Embedded Operating Systems
Real-time application platforms
FreeRTOS
ChibiOS
Low-power IoT systems
Contiki OS
Riot OS
POSIX-compliant systems
NuttX
Frosted
The future of safe embedded systems
Process isolation – Tock
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜