《硬件/固件接口设计 提高嵌入式系统开发效率的最佳实践》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)斯特林汉姆著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302267010
  • 页数:274 页
图书介绍:本书是关于硬件固件接口设计方面的开创性技术书籍,阐述了如何提高嵌入式系统开发效率的最佳实践,实用性极强,是广大硬件和固件设计人员的参考指南。

第1章 引言 1

1.1硬件/固件接口 2

1.1.1硬件、芯片及组件 2

1.1.2固件和设备驱动程序 5

1.2最佳实践 6

1.2.1原则 7

1.2.2原则和实践带来的好处 8

1.3.一次成功”还意味着 8

1.3.1更易于编程 9

1.3.2更易于调试 9

1.3.3更易于变通地解决缺陷 9

1.4目标读者 10

1.4.1硬件工程师 10

1.4.2固件工程师 10

1.4.3本书在大学环境中的应用 11

1.5项目的生命周期 11

1.6案例研究 12

1.6.1 Unity ASIC中的单色视频组件 12

1.6.2优秀示例的案例研究 13

1.7小结 14

1.8参考文献 14

第2章 原则 15

2.1硬件/固件接口设计的七项原则 15

2.1.1协同设计 15

2.1.2确定并遵循标准 17

2.1.3均衡负载 18

2.1.4设计要考虑兼容性 20

2.1.5预测影响 20

2.1.6设计要考虑意外 21

2.1.7事先计划 23

2.2小结 23

第3章 合作 25

3.1第一步 25

3.1.1角色 25

3.1.2启动会议 27

3.2正式合作 28

3.2.1例会 28

3.2.2初期的固件支持 29

3.2.3联合开发技巧 30

3.2.4后期的硬件支持 32

3.2.5文档 33

3.3非正式合作 34

3.3.1正式的组织结构 35

3.3.2硬件工程师的主动性 35

3.3.3固件工程师的主动性 36

3.3.4合作解决问题 37

3.4小结 38

3.5参考文献 38

第4章 计划 39

4.1行业标准 39

4.1.1既有标准 39

4.1.2实现标准 40

4.1.3标准的扩展与创建 42

4.2通用版本 43

4.3兼容性 44

4.3.1向后及向前兼容的范围 44

4.3.2新旧版本的组合 45

4.4缺陷 46

4.4.1归档缺陷 46

4.4.2修复缺陷 47

4.4.3查找缺陷的测试计划 49

4.5分析 49

4.5.1共用引脚 49

4.5.2缓冲区管理 50

4.5.3硬件/固件交互 51

4.5.4分析第三方的IP 52

4.6事后检查 53

4.7小结 53

第5章 文档 55

5.1类型 55

5.1.1文档的级别和类型 56

5.1.2芯片级文档与组件级文档 56

5.1.3支持与不支持文档 58

5.2文档管理 60

5.2.1文档标准 60

5.2.2何时编写文档 60

5.2.3准确性 61

5.3审阅 62

5.3.1何时审阅 62

5.3.2跟踪文档变化 63

5.3.3固件工程师应承担的审阅责任 64

5.4内容 65

5.4.1大体内容 65

5.4.2模板文档示例 66

5.4.3历史 66

5.4.4功能与假设 68

5.4.5参考和教程 69

5.4.6术语表和勘误表 70

5.5寄存器 71

5.5.1寄存器文档 71

5.5.2寄存器设计工具 72

5.5.3寄存器表 75

5.5.4寄存器的细节和描述 75

5.6数据位 77

5.6.1寄存器映射格式 77

5.6.2数据位的位置、类型及默认值 78

5.6.3数据位的描述 80

5.6.4中止的影响 80

5.6.5测试及调试数据位 81

5.7中断 81

5.7.1边沿触发型中断和电平触发型中断 81

5.7.2中断的使能与应答 82

5.7.3中断尚未完全完成 83

5.7.4无介入的重复中断 83

5.8时间 84

5.8.1时间范围 84

5.8.2时间单位 85

5.9错误 86

5.9.1两种类型的错误 87

5.9.2有关错误的丰富信息 87

5.9.3发生错误后组件的状态 88

5.9.4固件恢复的步骤 89

5.10信息 89

5.10.1非法配置 89

5.10.2状态机 90

5.10.3如何中止 90

5.11小结 91

第6章 超级组件 93

6.1超级组件的优点 93

6.1.1组件的附属资源 94

6.1.2包含未使用逻辑的理由 94

6.1.3反对包含未使用逻辑的理由 97

6.2联合 99

6.2.1设计超级组件 99

6.2.2制作超级模块 100

6.2.3改进设计 101

6.2.4添加未来的功能 102

6.2.5超级组件的版本号 103

6.3 I/O信号 103

6.4参数化 105

6.4.1减少硅片空间 105

6.4.2参数化风险的最小化 106

6.4.3固件的参数化信息 107

6.4.4可选的与固定的寄存器及数据位 109

6.5小结 110

6.6参考文献 111

第7章 设计 113

7.1事件通知 113

7.1.1无指示 114

7.1.2延时 114

7.1.3状态位 116

7.1.4中断 118

7.2性能 120

7.2.1增大缓冲区 120

7.2.2提前工作 121

7.2.3调整 122

7.2.4裕度 122

7.3上电 122

7.3.1 上电时的交互 122

7.3.2 I/O线路的上电状态 123

7.3.3组件级的电源控制 124

7.4通信与控制 124

7.4.1错误信息 124

7.4.2 DMA功能 125

7.4.3 I/O引脚共享 126

7.4.4隐藏实现细节 127

7.5小结 128

第8章 寄存器 131

8.1寻址 132

8.1.1处理器访问 132

8.1.2芯片的基址 134

8.1.3组件的偏移量和基址 135

8.1.4寄存器的偏移量 137

8.1.5了组件 137

8.1.6迸发 138

8.1.7未使用的地址单元 138

8.1.8下一代芯片的变化 139

8.2位分配 141

8.2.1分配数据位的位置 141

8.2.2多位字段 142

8.2.3多寄存器字段 144

8.2.4未使用的数据位单元 145

8.2.5下一版本的变化 146

8.2.6数据位类型 148

8.2.7寄存器中的数据位类型 151

8.2.8根据操作模式编组 152

8.2.9组件的多次例化 153

8.3数据类型 154

8.3.1整数 154

8.3.2实数 156

8.3.3指针 159

8.3.4常数 160

8.4硬件标识 161

8.4.1芯片ID和版本 161

8.4.2组件ID和版本 162

8.5通信与控制 163

8.5.1必要的信息 163

8.5.2组件中的排队任务 164

8.5.3一致的寄存器内容 167

8.5.4访问原子寄存器 168

8.6小结 172

第9章 中断 173

9.1设计 173

9.1.1中断超级模块 174

9.1.2分级的中断结构 176

9.1.3中断共享 177

9.1.4中断源信号的完整性 178

9.1.5中断触发的类型 179

9.2待决寄存器 183

9.2.1应答中断 183

9.2.2中断位置的次序 185

9.3使能寄存器 186

9.3.1 1使能中断 187

9.3.2使能控制中断 187

9.3.3使能的默认设置 188

9.4可选的寄存器 188

9.4.1中断源状态寄存器 189

9.4.2抢占寄存器 190

9.4.3原子使能寄存器/原子关闭寄存器 190

9.4.4屏蔽寄存器 190

9.4.5例化寄存器 191

9.4.6可选寄存器的地址 191

9.5中断模块回顾 192

9.5.1中断通道 193

9.5.2中断模块 195

9.5.3外部连接 196

9.6双边沿触发 196

9.6.1利用两个中断通道 197

9.6.2头边沿和尾边沿中断的通道位置 198

9.7使用中断模块 200

9.7.1何时分配中断通道 200

9.7.2重复中断 201

9.7.3地址映射 201

9.8小结 202

第10章 中止等 205

10.1定义 205

10.2停止 206

10.3复位 207

10.4中止 208

10.4.1中止的必要性 208

10.4.2固件与中止的交互 210

10.4.3中止的行为 212

10.4.4中止组件间的交互 213

10.5小结 214

第11章 钩子 217

11.1针对钩子的设计 218

11.1.1增加哪些钩子 218

11.1.2增加寄存器 219

11.1.3查找潜在问题区域 219

11.1.4删除变通措施 220

11.2查看 220

11.2.1内部寄存器 220

11.2.2信号 221

11.2.3存储器 222

11.2.4状态机 223

11.3打探 225

11.3.1破坏性的读写 225

11.3.2输入和输出信号 226

11.3.3重写寄存器 226

11.4监视 227

11.4.1事件跟踪 227

11.4.2定时器 228

11.4.3数据观察 229

11.5其他钩子 229

11.5.1旁路 230

11.5.2测试和调试所需的附加资源 231

11.5.3专用处理器 233

11.6小结 233

第12章 结束语 235

12.1要点 235

12.2受益 235

12.3硬件/固件接口设计的七项原则 236

12.4产品终于可以运转了!开始发货吧! 236

附录A最佳实践 239

附录B电动车控制器的规范 251

附录C将本书作为大学教材 265

附录D术语表 271