第1章USB基础 1
1.1 USB介绍 1
1.2 USB常用术语 2
1.3 USB设备开发流程 6
1.4 USB设备枚举 6
1.4.1 USB设备请求 7
1.4.2描述符 9
1.4.3设备枚举过程 20
1.5 USB主机开发流程 29
1.6 USB OTG介绍 30
1.7小结 31
第2章Stellaris的USB处理器 32
2.1 Stellaris处理器简介 32
2.2 Stellaris USB模块 42
2.2.1功能描述 43
2.2.2 USB控制器作为USB设备 44
2.2.3 USB控制器作为主机 49
2.2.4 OTG模式 51
2.3寄存器描述 52
2.3.1控制状态寄存器 54
2.3.2中断控制 61
2.3.3端点寄存器 69
2.4 USB处理器配置使用 84
2.5小结 86
第3章 底层库函数 87
3.1底层库函数 87
3.2通用库函数 88
3.2.1内核操作 88
3.2.2系统中断控制 91
3.2.3 GPIO控制 92
3.3 USB基本操作 97
3.4设备库函数 111
3.5主机库函数 114
3.6小结 122
第4章USB库介绍 123
4.1 USB库函数简介 123
4.2 USBlib介绍 126
4.3使用底层驱动开发 130
4.4使用USB库开发 146
4.5小结 148
第5章HID设备 149
5.1 HID介绍 149
5.2 HID类描述符 149
5.3 USB键盘 155
5.3.1数据类型 155
5.3.2 API函数 161
5.3.3 USB键盘开发 162
5.4 USB鼠标 174
5.4.1数据类型 174
5.4.2 API函数 177
5.4.3 USB鼠标开发 178
5.5小结 190
第6章Audio设备 191
6.1 Audio设备介绍 191
6.2 Audio描述符 192
6.3 Audio数据类型 198
6.4 API函数 201
6.5 Audio设备开发 202
6.6小结 219
第7章Bulk设备 220
7.1 Bulk设备介绍 220
7.2 Bulk数据类型 220
7.3 API函数 223
7.4 Bulk设备开发 228
7.5小结 253
第8章CDC设备 254
8.1 CDC设备介绍 254
8.2 CDC数据类型 254
8.3 API函数 257
8.4 CDC设备开发 260
8.5小结 294
第9章Mass Storage设备 295
9.1 Mass Storage设备介绍 295
9.2 MSC数据类型 295
9.3 API函数 298
9.4 MSC设备开发 299
9.5小结 314
第10章Composite设备 315
10.1 Composite设备介绍 315
10.2 Composite数据类型 315
10.3 API函数 316
10.4 Composite设备开发 317
10.5小结 334
第11章USB主机开发 335
11.1 USB主机开发介绍 335
11.2 USB主机开发过程 337
11.2.1主机配置 338
11.2.2注册驱动 340
11.2.3运行主机 344
11.3主机开发实例 350
11.3.1鼠标 350
11.3.2键盘 356
11.3.3 U盘 365
11.4小结 372
第12章USB OTG开发 373
12.1 OTG介绍 373
12.1.1主机通信协议与对话请求协议 374
12.1.2 OTG功能的构建 374
12.1.3 LM3S的OTG功能 375
12.1.4 OTG函数 376
12.2 OTG B开发 381
12.3 OTG A开发 381
12.4 OTG开发实例 381
12.5 OTG开发小结 385
第13章USB设备工程实例 386
13.1 USB设备开发流程 386
13.2 USB设备之USB BootLoader 387
13.3 USB设备开发总结 393
第14章USB主机开发实例 396
14.1 USB主机开发流程 396
14.2 USB主机之音频输入输出 399
14.3 USB主机开发总结 402
第15章USB系统开发总结 403
15.1常见问题 403
15.1.1概念问题 403
15.1.2开发问题 409
15.2本章小结 415
附录A LM3S5749应用电路图 416
附录B LM-Link下载器原理图 420
附录C USB常见术语及缩略词 422
参考文献 426