书籍详情
嵌入式系统设计与实践
作者:Elecia White 著,余水清 译
出版社:机械工业出版社
出版时间:2013-06-01
ISBN:9787111415848
定价:¥69.00
购买这本书可以去
内容简介
对嵌入式系统的开发感兴趣吗?由于嵌入式系统对效率有很高的要求,所以需要遵循严格的设计原则 。怀特专著的《嵌入式系统设计与实践》简单易读,结合传统的软件设计模式和嵌入式程序设计领域中新 颖、独特的设计模式,帮助你建立良好的程序设计实践技巧,学习如何针对处理器而非操作系统建立系统 架构,以及处理硬件难题与制造需求的特殊技能。本书作者是嵌入式系统专家,创建过各种嵌入式系统, 从城市道路监控系统到DNA扫描仪再到儿童玩具。 《嵌入式系统设计与实践》主要内容: ·深入分析嵌入式系统的架构设计步骤和架构设计模式。 ·介绍嵌入式系统中独有的设计模式,如环形缓冲区、中断和定时器、硬件调试、PID控制、系统优 化等。 ·如何优化系统以降低成本并提高性能。 ·如何在资源有限的环境中建立健壮的软件架构 。 ·探讨了扫描仪、电机以及其他I/0设备。 ·介绍事半功倍的方案:降低内存消耗、代码空 间占用、处理器周期以及功耗。 ·学习如何在处理器中直接更新嵌入式程序代码。 ·掌握如何在小型处理器上实现复杂的数学计算 。 ·提供了招聘嵌入式工程师的面试题,以及回答 这些面试题的独到思路。
作者简介
暂缺《嵌入式系统设计与实践》作者简介
目录
前言
第1章 导论
1.1 编译器、编程语言以及面向对象编程
1.2 嵌入式系统开发
1.2.1 调试
1.2.2 更多挑战
1.2.3 解决问题的原则
1.3 延伸阅读
第2章 创建系统架构
2.1 构建系统框图
2.1.1 架构框图
2.1.2 控制层级图
2.1.3 层次图
2.2 从框图到架构
2.2.1 封装模块
2.2.2 分派任务
2.2.3 驱动程序接口:打开(Open)、关闭(Close)、读(Read)、写(Write)和输入输出控制(IOCTL)
2.2.4 适配器模式
2.2.5 开始设计其他接口
2.2.6 例子:一个日志接口
2.3 一个可以实践的沙盒
2.4 延伸阅读
第3章 检视硬件
3.1 硬件/软件集成
3.1.1 理想的项目流程
3.1.2 电路板调试
3.2 阅读数据表
3.2.1 遇到问题时需要查找的数据表部分
3.2.2 对软件开发者比较重要的内容
3.2.3 用数据表评估元器件
3.3 处理器是一门语言
3.4 阅读原理图
3.5 调试工具箱(和灭火器)
3.5.1 保管好电路板
3.5.2 工具箱
3.5.3 数字万用表
3.5.4 示波器和逻辑分析仪
3.6 测试硬件(和软件)
3.6.1 构建测试
3.6.2 闪存测试范例
3.6.3 命令和响应
3.6.4 命令模式
3.7 处理错误
3.7.1 一致的方法
3.7.2 错误处理库
3.7.3 调试时序错误
3.8 延伸阅读
第4章 输入、输出和定时器
4.1 触发输出
4.1.1 从寄存器开始
4.1.2 将引脚设置为输出
4.1.3 点亮LED
4.1.4 LED闪烁
4.1.5 故障诊断
4.2 将硬件和动作分离
4.2.1 特定于电路板的头文件
4.2.2 I/O处理代码
4.2.3 主循环
4.2.4 门面模式
4.3 I/O中的输入
4.3.1 按钮的简单接口
4.4 瞬间按钮动作
4.4.1 按钮按下时的中断
4.4.2 配置中断
4.4.3 去抖动开关
4.5 运行时不确定性
4.5.1 依赖注入
4.6 使用定时器
4.6.1 时间片
4.6.2 数学计算
4.6.3 定时器节拍之间的漫长等待
4.6.4 使用定时器
4.7 使用脉冲宽度调制
4.8 产品发货
4.9 延伸阅读
第5章 任务管理
5.1 调度和操作系统基础
5.1.1 任务
5.1.2 任务间通信
5.1.3 避免竞争条件
5.1.4 优先级倒置
5.2 状态机
5.2.1 状态机范例:信号灯控制器
5.2.2 以状态为中心的状态机
5.2.3 具有隐式迁移的以状态为中心的状态机
5.2.4 以事件为中心的状态机
5.2.5 状态模式
5.2.6 表格驱动的状态机
5.2.7 选择状态机的实现
5.3 中断
5.3.1 中断请求
5.3.2 保存上下文
5.3.3 从向量表中获得ISR
5.3.4 调用ISR
5.3.5 恢复上下文
5.3.6 何时使用中断
5.4 怎样不使用中断
5.4.1 轮询
5.4.2 系统节拍
5.4.3 基于时间的事件
5.4.4 一个极小型调度器
5.5 监控程序(看门狗)
5.6 延伸阅读
第6章 外设通信
6.1 应用广泛的外设
6.1.1 外部存储器
6.1.2 按钮和按键矩阵
6.1.3 传感器
6.1.4 执行器
6.1.5 显示器
6.2 种类繁多的通信方式
6.2.1 串行通信
6.2.2 并行
6.2.3 以太网和WiFi
6.3 将外设和通信结合
6.3.1 数据处理
6.3.2 增强通信的健壮性
6.3.3 修改数据
6.3.4 修改算法
6.4 延伸阅读
第7章 更新代码
7.1 板载启动装载器
7.2 构建自己的更新程序
7.2.1 修改驻留的更新程序
7.3 砖块装载器
7.3.1 将装载器复制到内存
7.3.2 运行装载器
7.3.3 复制新代码到暂存空间
7.3.4 危险时刻:擦除和编程
7.3.5 重置到新代码
7.4 安全
7.5 链接器脚本
7.6 总结
第8章 事半功倍
8.1 代码空间
8.1.1 读映射文件(第1部分)
8.1.2 简化的过程
8.1.3 库
8.1.4 函数和宏
8.1.5 常量和字符串
8.2 RAM
8.2.1 释放和分配
8.2.2 读映射文件(第2部分)
8.2.3 寄存器和局部变量
8.2.4 函数链
8.2.5 全局变量的优点和缺点
8.2.6 内存覆盖
8.3 速度
8.3.1 程序性能分析
8.3.2 优化
8.4 总结
8.5 延伸阅读
第9章 数学运算
9.1 区别快、慢运算
求平均值
9.2 使用已知的算法
9.3 设计与修改算法
9.3.1 多项式因式分解
9.3.2 泰勒级数
9.3.3 除以常数
9.3.4 放大输入
9.3.5 查找表
9.4 伪浮点数
9.4.1 有理数
9.4.2 精度
9.4.3 加法(和减法)
9.4.4 乘法(和除法)
9.4.5 决定误差
9.5 延伸阅读
第10章 降低功耗
10.1 理解功耗
10.2 离开房间的时候请关灯
10.2.1 关掉外围设备
10.2.2 关掉不用的I/O设备
10.2.3 关掉处理器子系统
10.2.4 降速节能
10.3 让处理器休眠
10.3.1 基于中断的代码流模型
10.3.2 深度研究主循环
10.3.3 处理器看门狗
10.3.4 避免频繁唤醒
10.3.5 处理器链
10.4 延伸阅读
……
第1章 导论
1.1 编译器、编程语言以及面向对象编程
1.2 嵌入式系统开发
1.2.1 调试
1.2.2 更多挑战
1.2.3 解决问题的原则
1.3 延伸阅读
第2章 创建系统架构
2.1 构建系统框图
2.1.1 架构框图
2.1.2 控制层级图
2.1.3 层次图
2.2 从框图到架构
2.2.1 封装模块
2.2.2 分派任务
2.2.3 驱动程序接口:打开(Open)、关闭(Close)、读(Read)、写(Write)和输入输出控制(IOCTL)
2.2.4 适配器模式
2.2.5 开始设计其他接口
2.2.6 例子:一个日志接口
2.3 一个可以实践的沙盒
2.4 延伸阅读
第3章 检视硬件
3.1 硬件/软件集成
3.1.1 理想的项目流程
3.1.2 电路板调试
3.2 阅读数据表
3.2.1 遇到问题时需要查找的数据表部分
3.2.2 对软件开发者比较重要的内容
3.2.3 用数据表评估元器件
3.3 处理器是一门语言
3.4 阅读原理图
3.5 调试工具箱(和灭火器)
3.5.1 保管好电路板
3.5.2 工具箱
3.5.3 数字万用表
3.5.4 示波器和逻辑分析仪
3.6 测试硬件(和软件)
3.6.1 构建测试
3.6.2 闪存测试范例
3.6.3 命令和响应
3.6.4 命令模式
3.7 处理错误
3.7.1 一致的方法
3.7.2 错误处理库
3.7.3 调试时序错误
3.8 延伸阅读
第4章 输入、输出和定时器
4.1 触发输出
4.1.1 从寄存器开始
4.1.2 将引脚设置为输出
4.1.3 点亮LED
4.1.4 LED闪烁
4.1.5 故障诊断
4.2 将硬件和动作分离
4.2.1 特定于电路板的头文件
4.2.2 I/O处理代码
4.2.3 主循环
4.2.4 门面模式
4.3 I/O中的输入
4.3.1 按钮的简单接口
4.4 瞬间按钮动作
4.4.1 按钮按下时的中断
4.4.2 配置中断
4.4.3 去抖动开关
4.5 运行时不确定性
4.5.1 依赖注入
4.6 使用定时器
4.6.1 时间片
4.6.2 数学计算
4.6.3 定时器节拍之间的漫长等待
4.6.4 使用定时器
4.7 使用脉冲宽度调制
4.8 产品发货
4.9 延伸阅读
第5章 任务管理
5.1 调度和操作系统基础
5.1.1 任务
5.1.2 任务间通信
5.1.3 避免竞争条件
5.1.4 优先级倒置
5.2 状态机
5.2.1 状态机范例:信号灯控制器
5.2.2 以状态为中心的状态机
5.2.3 具有隐式迁移的以状态为中心的状态机
5.2.4 以事件为中心的状态机
5.2.5 状态模式
5.2.6 表格驱动的状态机
5.2.7 选择状态机的实现
5.3 中断
5.3.1 中断请求
5.3.2 保存上下文
5.3.3 从向量表中获得ISR
5.3.4 调用ISR
5.3.5 恢复上下文
5.3.6 何时使用中断
5.4 怎样不使用中断
5.4.1 轮询
5.4.2 系统节拍
5.4.3 基于时间的事件
5.4.4 一个极小型调度器
5.5 监控程序(看门狗)
5.6 延伸阅读
第6章 外设通信
6.1 应用广泛的外设
6.1.1 外部存储器
6.1.2 按钮和按键矩阵
6.1.3 传感器
6.1.4 执行器
6.1.5 显示器
6.2 种类繁多的通信方式
6.2.1 串行通信
6.2.2 并行
6.2.3 以太网和WiFi
6.3 将外设和通信结合
6.3.1 数据处理
6.3.2 增强通信的健壮性
6.3.3 修改数据
6.3.4 修改算法
6.4 延伸阅读
第7章 更新代码
7.1 板载启动装载器
7.2 构建自己的更新程序
7.2.1 修改驻留的更新程序
7.3 砖块装载器
7.3.1 将装载器复制到内存
7.3.2 运行装载器
7.3.3 复制新代码到暂存空间
7.3.4 危险时刻:擦除和编程
7.3.5 重置到新代码
7.4 安全
7.5 链接器脚本
7.6 总结
第8章 事半功倍
8.1 代码空间
8.1.1 读映射文件(第1部分)
8.1.2 简化的过程
8.1.3 库
8.1.4 函数和宏
8.1.5 常量和字符串
8.2 RAM
8.2.1 释放和分配
8.2.2 读映射文件(第2部分)
8.2.3 寄存器和局部变量
8.2.4 函数链
8.2.5 全局变量的优点和缺点
8.2.6 内存覆盖
8.3 速度
8.3.1 程序性能分析
8.3.2 优化
8.4 总结
8.5 延伸阅读
第9章 数学运算
9.1 区别快、慢运算
求平均值
9.2 使用已知的算法
9.3 设计与修改算法
9.3.1 多项式因式分解
9.3.2 泰勒级数
9.3.3 除以常数
9.3.4 放大输入
9.3.5 查找表
9.4 伪浮点数
9.4.1 有理数
9.4.2 精度
9.4.3 加法(和减法)
9.4.4 乘法(和除法)
9.4.5 决定误差
9.5 延伸阅读
第10章 降低功耗
10.1 理解功耗
10.2 离开房间的时候请关灯
10.2.1 关掉外围设备
10.2.2 关掉不用的I/O设备
10.2.3 关掉处理器子系统
10.2.4 降速节能
10.3 让处理器休眠
10.3.1 基于中断的代码流模型
10.3.2 深度研究主循环
10.3.3 处理器看门狗
10.3.4 避免频繁唤醒
10.3.5 处理器链
10.4 延伸阅读
……
猜您喜欢