出版時間:2012-6 出版社:東南大學(xué)出版社 作者:Elecia Wbite 頁數(shù):310 字?jǐn)?shù):401000
Tag標(biāo)簽:無
內(nèi)容概要
是否有興趣開發(fā)嵌入式系統(tǒng)?這些系統(tǒng)無法容忍低下的效率,它們需要遵循嚴(yán)格的方式進(jìn)行編程?!肚度胧较到y(tǒng)開發(fā)(影印版)》這本易于閱讀的指南通過經(jīng)典的軟件設(shè)計模式和嵌入式編程的全新模式來幫助你培養(yǎng)許多良好的開發(fā)習(xí)慣。你會學(xué)習(xí)到如何為處理器而不是操作系統(tǒng)來搭建系統(tǒng)架構(gòu),并且了解到處理硬件問題和制造工藝所需的特殊技術(shù)。
這本書的作者創(chuàng)建過各種各樣的嵌入式系統(tǒng),從城市監(jiān)控和DNA掃描儀到兒童玩具。本書適合于中等和有經(jīng)驗的編程人員,無論你使用的是什么平臺。本書由懷特(White,
E.)著。
作者簡介
作者:(美)懷特
書籍目錄
Preface
1. Introduction
Compile, Languages, and Object-Oriented Programming
Embedded System Development
Debugging
More Challenges
Principles to Confront Those Challenges
Further Reading
2. Creating a System Architecture
Creating System Diagrams
The Block Diagram
Hierarchy of Control
Layered View
From Diagram to Architecture
Encapsulate Modules
Delegation of Tasks
Driver Interface: Open, Close, Read, Write, IOCTL
Adapter Pattern
Getting Started with Other Interfaces
Example: A Logging Interface
A Sandbox to Play In
Further Reading
3. Getting Your Hands on the Hardware
Hardware/Software Integration
Ideal Project Flow
Board Bring-Up
Reading a Datasheet
Datasheet Sectio You Need When Things'Go Wrong
Important Text for Software Develope
Evaluating Components Using the Datasheet
Your Processor Is a Language
Reading a Schematic
Having a Debugging Toolbox (and a Fire Extinguisher)
Keep Your Board Safe
Toolbox
Digital Multimeter
Oscilloscopes and Logic Analyze
Testing the Hardware (and Software)
Building Tests
Flash Test Example
Command and Respoe
Command Pattern
Dealing with Erro
Coistent Methodology
Error-Handling Library
Debugging Timing Erro
Further Reading
4. Outputs, Inputs, and Time
Toggling an Output
Starting with Registe
Set the Pin to Be an Output
Turn On the LED
Blinking the LED
Troubleshooting
Separating the Hardware from the Action
Board-Specific Header File
I/O-Handling Code
Main Loop
Facade Pattern
The Input in I/O
A Simple Interface to a Button
Momentary Button Press
Interrupt on a Button Press
Configuring the Interrupt
Debouncing Switches
Runtime Uncertainty
Dependency Injection
Using a Timer
Timer Pieces
Doing the Math
A Long Wait Between Timer Ticks
Using the Timer
Using Pulse-Width Modulation
Shipping the Product
Further Reading
5. Managing the FIow 0fActiviB~
Scheduling and Operating System Basics
Tasks
Communication Between Tasks
Avoiding Race Conditio
Priority Inveion
State Machines
State Machine Example: Stoplight Controller
State-Centric State Machine
State-Centric State Machine with Hidden Traitio
Event-Centric State Machine
State Pattern
Table-Driven State Machine
Choosing a State Machine Implementation
Interrupts
An IRQ Happe
Save the Context
Get the ISR from the Vector Table
Calling the ISR
Restore the Context
When to Use Interrupts
How Not to Use Interrupts
Polling
System Tick
Time-Based Events
A Very Small Scheduler
Watchdog
Further Reading
6. Communicating with Peripherals
The Wide Reach of Peripherals
External Memory
Butto and Key Matrices
Seo
Actuato
Displays
So Many Ways of Communicating
Serial
Parallel
Ethernet and WiFi
Putting Peripherals and Communication Together
Data Handling
Adding Robustness to the Communication
Changing Data
Changing Algorithms
Further Reading
7. Updating Code
Onboard Bootloader
Build Your Own Updater
Modifying the Resident Updater
Brick Loader
Copy Loader to RAM
Run the Loader
Copy New Code to Scratch
Dangerous Time: Erase and Program
Reset to New Code
Security
Linker Scripts
Summary
8. Doing More with Less
Code Space
Reading a Map File (Part 1)
Process of Elimination
Libraries
Functio and Macros
Cotants and Strings
RAM
Remove malloc
Reading a Map File (Part 2)
Registe and Local Variables
Function Chai
Pros and Co of Globals
Memory Overlays
Speed
Profiling
Optimizing
Summary
Further Reading
9. Math
Identifying Fast and Slow Operatio
Taking an Average
Use an Existing Algorithm
Designing and Modifying Algorithms
Factor Polynomials
Taylor Series
Dividing by a Cotant
Scaling the Input
Lookup Tables
Fake Floating-Point Numbe
Rational Numbe
Precision
Addition (and Subtraction)
Multiplication (and Division)
Determining the Error
Further Reading
10. Reducing Power Coumption
Undetanding Power Coumption
Turn Off the Light When You Leave the Room
Turn Off Peripherals
Turn Oft" Unused I/O devices
Turn Off Processor Subsystems
Slowing Down to Coerve Energy
Putting the Processor to Sleep
Interrupt-Based Code Flow Model
A Closer Look at the Main Loop
Processor Watchdog
Avoid Frequent Wake-Ups
Chained Processo
Further Reading
Index
媒體關(guān)注與評論
《嵌入式系統(tǒng)開發(fā)》是一本適合希望進(jìn)入有趣(也有利可圖)的嵌入式領(lǐng)域的C程序員的書籍。這本書寫得非常好--寓教于樂--并且講解明晰。” ——Jack Ganssle 作家同時也是嵌入式系統(tǒng)專家
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載