嵌入式系统设计与实践

《嵌入式系统设计与实践》
基本信息
原书名:Making Embedded Systems
作者: (美)Elecia White   
译者: 余水清
丛书名: O’Reilly精品图书系列
出版社:机械工业出版社
ISBN:9787111415848
上架时间:2013-5-27
出版日期:2013 年5月
开本:16开
页码:1
版次:1-1
所属分类:计算机

更多关于 》》》《 嵌入式系统设计与实践
目录
《嵌入式系统设计与实践》 
前言 1 
第1章 导论 7 
1.1 编译器、编程语言以及面向对象编程 7 
1.2 嵌入式系统开发 8 
1.2.1 调试 8 
1.2.2 更多挑战 10 
1.2.3 解决问题的原则 11 
1.3 延伸阅读 12 
第2章 创建系统架构 15 
2.1 构建系统框图 16 
2.1.1 架构框图 16 
2.1.2 控制层级图 18 
2.1.3 层次图 20 
2.2 从框图到架构 21 
2.2.1 封装模块 22 
2.2.2 分派任务 22 
2.2.3 驱动程序接口:打开(open)、关闭(close)、读(read)、写(write)和输入输出控制(ioctl) 23 
2.2.4 适配器模式 24 
2.2.5 开始设计其他接口 26 
.2.2.6 例子:一个日志接口 27 
2.3 一个可以实践的沙盒 33 
2.4 延伸阅读 37 
第3章 检视硬件 39 
3.1 硬件/软件集成 39 
3.1.1 理想的项目流程 40 
3.1.2 电路板调试 41 
3.2 阅读数据表 42 
3.2.1 遇到问题时需要查找的数据表部分 44 
3.2.2 对软件开发者比较重要的内容 46 
3.2.3 用数据表评估元器件 48 
3.3 处理器是一门语言 51 
3.4 阅读原理图 53 
3.5 调试工具箱(和灭火器) 56 
3.5.1 保管好电路板 56 
3.5.2 工具箱 57 
3.5.3 数字万用表 58 
3.5.4 示波器和逻辑分析仪 58 
3.6 测试硬件(和软件) 61 
3.6.1 构建测试 62 
3.6.2 闪存测试范例 63 
3.6.3 命令和响应 66 
3.6.4 命令模式 70 
3.7 处理错误 71 
3.7.1 一致的方法 72 
3.7.2 错误处理库 73 
3.7.3 调试时序错误 73 
3.8 延伸阅读 74 
第4章 输入、输出和定时器 76 
4.1 触发输出 76 
4.1.1 从寄存器开始 77 
4.1.2 将引脚设置为输出 78 
4.1.3 点亮led 80 
4.1.4 led闪烁 81 
4.1.5 故障诊断 81 
4.2 将硬件和动作分离 82 
4.2.1 特定于电路板的头文件 83 
4.2.2 i/o处理代码 84 
4.2.3 主循环 86 
4.2.4 门面模式 86 
4.3 i/o中的输入 87 
4.3.1 按钮的简单接口 88 
4.4 瞬间按钮动作 90 
4.4.1 按钮按下时的中断 90 
4.4.2 配置中断 91 
4.4.3 去抖动开关 92 
4.5 运行时不确定性 94 
4.5.1 依赖注入 95 
4.6 使用定时器 96 
4.6.1 时间片 97 
4.6.2 数学计算 99 
4.6.3 定时器节拍之间的漫长等待 103 
4.6.4 使用定时器 104 
4.7 使用脉冲宽度调制 104 
4.8 产品发货 106 
4.9 延伸阅读 108 
第5章 任务管理 109 
5.1 调度和操作系统基础 109 
5.1.1 任务 109 
5.1.2 任务间通信 110 
5.1.3 避免竞争条件 110 
5.1.4 优先级倒置 112 
5.2 状态机 113 
5.2.1 状态机范例:信号灯控制器 114 
5.2.2 以状态为中心的状态机 114 
5.2.3 具有隐式迁移的以状态为中心的状态机 115 
5.2.4 以事件为中心的状态机 116 
5.2.5 状态模式 117 
5.2.6 表格驱动的状态机 118 
5.2.7 选择状态机的实现 120 
5.3 中断 120 
5.3.1 中断请求 121 
5.3.2 保存上下文 128 
5.3.3 从向量表中获得isr 130 
5.3.4 调用isr 132 
5.3.5 恢复上下文 134 
5.3.6 何时使用中断 135 
5.4 怎样不使用中断 135 
5.4.1 轮询 136 
5.4.2 系统节拍 136 
5.4.3 基于时间的事件 138 
5.4.4 一个极小型调度器 138 
5.5 监控程序(看门狗) 140 
5.6 延伸阅读 142 
第6章 外设通信 145 
6.1 应用广泛的外设 145 
6.1.1 外部存储器 145 
6.1.2 按钮和按键矩阵 146 
6.1.3 传感器 147 
6.1.4 执行器 150 
6.1.5 显示器 155 
6.2 种类繁多的通信方式 160 
6.2.1 串行通信 161 
6.2.2 并行 170 
6.2.3 以太网和wifi 171 
6.3 将外设和通信结合 172 
6.3.1 数据处理 172 
6.3.2 增强通信的健壮性 182 
6.3.3 修改数据 185 
6.3.4 修改算法 187 
6.4 延伸阅读 188 
第7章 更新代码 191 
7.1 板载启动装载器 192 
7.2 构建自己的更新程序 193 
7.2.1 修改驻留的更新程序 194 
7.3 砖块装载器 195 
7.3.1 将装载器复制到内存 196 
7.3.2 运行装载器 198 
7.3.3 复制新代码到暂存空间 198 
7.3.4 危险时刻:擦除和编程 199 
7.3.5 重置到新代码 199 
7.4 安全 200 
7.5 链接器脚本 201 
7.6 总结 204 
第8章 事半功倍 206 
8.1 代码空间 207 
8.1.1 读映射文件(第1部分) 207 
8.1.2 简化的过程 210 
8.1.3 库 212 
8.1.4 函数和宏 212 
8.1.5 常量和字符串 214 
8.2 ram 214 
8.2.1 释放和分配 215 
8.2.2 读映射文件(第2部分) 216 
8.2.3 寄存器和局部变量 217 
8.2.4 函数链 219 
8.2.5 全局变量的优点和缺点 221 
8.2.6 内存覆盖 221 
8.3 速度 222 
8.3.1 程序性能分析 223 
8.3.2 优化 227 
8.4 总结 236 
8.5 延伸阅读 237 
第9章 数学运算 240 
9.1 区别快、慢运算 241 
求平均值 242 
9.2 使用已知的算法 245 
9.3 设计与修改算法 248 
9.3.1 多项式因式分解 248 
9.3.2 泰勒级数 248 
9.3.3 除以常数 250 
9.3.4 放大输入 251 
9.3.5 查找表 253 
9.4 伪浮点数 259 
9.4.1 有理数 260 
9.4.2 精度 261 
9.4.3 加法(和减法) 262 
9.4.4 乘法(和除法) 263 
9.4.5 决定误差 264 
9.5 延伸阅读 268 
第10章 降低功耗 270 
10.1 理解功耗 271 
10.2 离开房间的时候请关灯 273 
10.2.1 关掉外围设备 273 
10.2.2 关掉不用的i/o设备 274 
10.2.3 关掉处理器子系统 274 
10.2.4 降速节能 274 
10.3 让处理器休眠 276 
10.3.1 基于中断的代码流模型 277 
10.3.2 深度研究主循环 279 
10.3.3 处理器看门狗 280 
10.3.4 避免频繁唤醒 280 
10.3.5 处理器链 281 
10.4 延伸阅读 281

图书信息来源: 互动出版网
原文地址:https://www.cnblogs.com/javawebsoa/p/3102187.html