第1章 绪论
第2章 工程项目
2.1 分割
2.1.1 开发效率崩溃
2.1.2 cocomo
2.1.3 分割技巧
2.1.4 减少nre,节省大笔开支
2.1.5 超级程序员效应
2.1.6 渐进式开发固件
2.1.7 什么是smp
2.1.8 总结
2.2 计划表
2.2.1 wideband delphi法
2.2.2 猜测游戏
2.2.3 更多启发
第3章 代码
3.1 固件标准
3.2 代码检测
3.3 根据合同设计
3.3.1 合同
3.3.2 良好的合同
3.3.3 c语言中的dbc
3.3.4 其他选择
3.3.5 总结
3.3.6 资源
3.4 其他保证代码质量的方法
3.4.1 misra
3.4.2 lint
3.4.3 静态分析
3.5 封装
3.5.1 问题
3.5.2 全局变量的备选方案
3.5.3 难题
3.5.4 故事的另一面
第4章 实时
4.1 实时意味着马上
4.1.1 中断
4.1.2 调试int/inta周期
4.1.3 找到丢失的中断
4.1.4 避免nmi
4.1.5 中断标记问题
4.1.6 简单的isr调试
4.1.7 rtos
4.2 可重入性
4.2.1 原子型变量
4.2.2 另外两个规则
4.2.3 保持代码的可重入性
4.2.4 递归
4.2.5 异步硬件/固件
4.2.6 竞态条件
4.2.7 选择
4.2.8 其他的rtos
4.2.9 亚稳状态
4.2.10 固件,而不是硬件
4.3 极端手段
4.3.1 性能的测评
4.3.2 输出数据
4.3.3 vom方法
4.3.4 r-2r
4.4 浮点近似
4.4.1 根
4.4.2 求幂
4.4.3 其他的指数运算
4.4.4 对数运算
4.4.5 三角函数:一般说明
4.4.6 余弦和正弦
4.4.7 更高精度的余弦运算
4.4.8 正切函数
4.4.9 更高精度的正切函数
4.4.10 反正切、反正弦和反余弦
4.4.11 精度
第5章 现实世界
5.1 适用于固件人员的电磁学
5.1.1 频率参数
5.1.2 反射
5.1.3 固件相关
5.2 消抖
5.2.1 数据
5.2.2 抖动情况
5.2.3 抖动分析
5.2.4 硬件消抖
5.2.5 rc消抖电路
5.2.6 设计匹配电路
5.2.7 其他想法
5.2.8 软件消抖
5.2.9 消抖策略
5.2.10 计数算法
5.2.11 一种代替算法
5.2.12 处理多输入
5.2.13 总结
第6章 严格的开发
6.1 严格的开发
6.1.1 任何人都会写代码
6.1.2 在大学里固件是最昂贵的东西
6.1.3 固件值多少钱
6.1.4 质量很重要,但不是免费的
6.1.5 cmmi
6.2 步计划
6.2.1 第1步:购买并使用vcs
6.2.2 第2步:制定一份硬件标准手册
6.2.3 第3步:进行代码检查
6.2.4 第4步:创造一个安静的工作环境
6.2.5 第5步:估算你的错误率
6.2.6 第6步:估算你的代码生成效率
6.2.7 第7步:不断地学习软件工程的知识
6.2.8 总结
6.3 项目总结
6.3.1 工程管理
6.3.2 项目总结
附录a 固件标准
附录b 简单的图画系统
附录c 对老板关于改善流程的忠告
展开
——《软件开发时报》
“我要是在学校的时候能读到本书就好了,那样会少走多少年的弯路啊。”
——读者评论