是否有兴趣开发嵌入式系统?这些系统无法容忍低下的效率,它们需要遵循严格的方式进行编程。《嵌入式系统开发(影印版)》这本易于阅读的指南通过经典的软件设计模式和嵌入式编程的全新模式来帮助你培养许多良好的开发习惯。你会学习到如何为处理器而不是操作系统来搭建系统架构,并且了解到处理硬件问题和制造工艺所需的特殊技术。
这本书的作者创建过各种各样的嵌入式系统,从城市监控和DNA扫描仪到儿童玩具。本书适合于中等和有经验的编程人员,无论你使用的是什么平台。本书由怀特(White, E.)著。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 嵌入式系统开发(影印版) |
分类 | |
作者 | (美)怀特 |
出版社 | 东南大学出版社 |
下载 | ![]() |
简介 | 编辑推荐 是否有兴趣开发嵌入式系统?这些系统无法容忍低下的效率,它们需要遵循严格的方式进行编程。《嵌入式系统开发(影印版)》这本易于阅读的指南通过经典的软件设计模式和嵌入式编程的全新模式来帮助你培养许多良好的开发习惯。你会学习到如何为处理器而不是操作系统来搭建系统架构,并且了解到处理硬件问题和制造工艺所需的特殊技术。 这本书的作者创建过各种各样的嵌入式系统,从城市监控和DNA扫描仪到儿童玩具。本书适合于中等和有经验的编程人员,无论你使用的是什么平台。本书由怀特(White, E.)著。 目录 Preface 1. Introduction Compilers, 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 Sections You Need When Things'Go Wrong Important Text for Software Developers 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 Analyzers Testing the Hardware (and Software) Building Tests Flash Test Example Command and Response Command Pattern Dealing with Errors Consistent Methodology Error-Handling Library Debugging Timing Errors Further Reading 4. Outputs, Inputs, and Timers Toggling an Output Starting with Registers 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 Conditions Priority Inversion State Machines State Machine Example: Stoplight Controller State-Centric State Machine State-Centric State Machine with Hidden Transitions Event-Centric State Machine State Pattern Table-Driven State Machine Choosing a State Machine Implementation Interrupts An IRQ Happens 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 Buttons and Key Matrices Sensors Actuators 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 Functions and Macros Constants and Strings RAM Remove malloc Reading a Map File (Part 2) Registers and Local Variables Function Chains Pros and Cons of Globals Memory Overlays Speed Profiling Optimizing Summary Further Reading 9. Math Identifying Fast and Slow Operations Taking an Average Use an Existing Algorithm Designing and Modifying Algorithms Factor Polynomials Taylor Series Dividing by a Constant Scaling the Input Lookup Tables Fake Floating-Point Numbers Rational Numbers Precision Addition (and Subtraction) Multiplication (and Division) Determining the Error Further Reading 10. Reducing Power Consumption Understanding Power Consumption 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 Conserve 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 Processors Further Reading Index |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。