| 作 者: | Craig Hollabaugh 陈雷 钟书毅 |
| 出版社: | 电子工业出版社 |
| 丛编项: | |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | Linux |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第1 章
嵌入式Linux简介 2
1.1
为什么Linux广受欢迎 2
1.2
什么是嵌入式系统 3
1.3
什么是实时 3
1.4
开放源代码的含意 4
1.5
小结 5
补充读物 5
第2 章
系统体系结构 6
2.1
开拓者项目简介 6
2.2
Silverjack度假胜地的布局 7
2.3
开拓者项目的需求 8
2.3.1
安全需求 8
2.3.2
运营需求 9
2.3.3
供应商需求 10
2.4
开拓者项目的系统体系结构 10
2.5
小结 11
第3 章
选择平台和安装工具集 12
3.1
信息来源 12
3.2
开拓者项目的战略方向 13
3.3
构建tbdev1—嵌入式Linux开发工作站 14
3.3.1
开始 15
3.3.2
安装Linux操作系统 16
3.3.3
安装本机GNU工具链和其他应用程序 20
3.3.4
创建用于交叉编译的GNU工具链 20
3.4
小结 44
补充读物 44
第4 章
引导Linux 45
4.1
目标机的平台引导需求 45
4.2
Linux的引导过程 46
4.3
Linux的根文件系统 47
4.3.1
init所需的文件 48
4.3.2
bash所需的文件 49
4.3.3
根文件系统的二进制文件:编译还是下载 50
4.4
创建根文件系统 61
4.4.1
决定要使用的包 61
4.4.2
创建根文件系统的过程 62
4.4.3
运行buildrootfilesystem 63
4.5
安装TFTP服务器 66
4.6
安装minicom 67
4.7
引导Embedded Planet RPX-CLLF 67
4.7.1
Embedded Planet RPX-CLLF的目标PBR回顾 71
4.8
引导Brightstar Engineering MediaEngine 73
4.8.1
Brightstar Engineering MediaEngine的目标PBR回顾 76
4.9
引导Tri-M MZ104和带闪存IDE驱动器的COTS PC 78
4.9.1
闪存IDE技术 78
4.9.2
准备Tri-M MZ104和COTS PC 79
4.9.3
引导Tri-M MZ104目标系统 82
4.9.4
Tri-M MZ104的目标PBR回顾 83
4.10 不同引导方式之间的比较 85
4.11 小结 86
补充读物 86
第5章
调试 87
5.1
gdb简介 87
5.2
本机调试 88
5.3
远程调试 91
5.4
通过网络挂装根文件系统 94
5.4.1
配置NFS服务器 95
5.4.2
配置目标内核 96
5.5
小结 99
补充读物 99
第6章
异步串行通信接口 102
6.1
开拓者项目的异步串行硬件开发环境 102
6.1.1
目标EIA/TIA-232-E兼容性 103
6.2
Linux串行通信 103
6.2.1
使用setSerialSignal设置串口控制信号 104
6.2.2
使用getSerialSignal读入串口控制信号 107
6.2.3
文件open系统调用如何影响DTR和RTS信号 109
6.2.4
使用querySerial为bash脚本提供串行通信功能 110
6.3
小结 114
6.4
补充读物 115
第7章
并行接口 116
7.1
使用并口进行控制 117
7.2
使用端口I/O控制标准并口 120
7.2.1
使用端口I/O监测缆车运行状况 120
7.2.2
使用端口I/O控制造雪设备 123
7.3
使用ppdev控制标准并口 125
7.4
开发定制的设备驱动程序 128
7.4.1
理解helloworld_proc_module 129
7.4.2
在MediaEngine上编译. 插入模块并测试helloworld_proc_module 134
7.5
使用定制设备驱动程序liftmon_snowcon控制标准并口 135
7.5.1
增强helloworld_proc_module以创建liftmon_snowcon 136
7.5.2
在MZ104上编译. 插入和测试liftmon_snowcon 146
7.6
小结 149
7.7
补充读物 149
第8章
USB接口 150
8.1
什么是USB 150
8.2
开拓者项目的USB硬件 152
8.2.1
USB音频:Yamaha YST-MS35D USB扬声器 152
8.2.2
USB视频捕捉:Kensington VideoCAM super-VGA PC摄像头 156
8.2.3
USB存储:SanDisk USB SmartMedia读卡器 160
8.3
小结 164
8.4
补充读物 164
第9章
内存I/O接口 165
9.1
硬件设计过程 165
9.2
为MediaEngine开发缆车监测和造雪设备控制功能 166
9.2.1
设计MediaEngine的外部接口硬件 166
9.2.2
MediaEngine的内存映射空间寻址 168
9.2.3
MediaEngine的寄存器基址寻址 169
9.2.4
为MediaEngine配置内存控制器 169
9.2.5
为MediaEngine分配输出模块启用信号 169
9.2.6
为MediaEngine配置I/O端口控制器 169
9.2.7
为MediaEngine编写helloworldbit测试驱动程序 170
9.2.8
为MediaEngine编写liftmon_snowcon设备驱动程序 174
9.3
为RPX-CLLF开发缆车监测和造雪设备控制功能 184
9.3.1
为RPC-CLLF设计外部硬件接口 185
9.3.2
为RPX-CLLF寻找内存映射空间 185
9.3.3
为RPX-CLLF寻找寄存器基址 187
9.3.4
为RPX-CLLF配置内存控制器 187
9.3.5
为RPX-CLLF分配输出模块启用信号 188
9.3.6
为RPX-CLLF配置I/O端口控制器 188
9.3.7
为RPX-CLLF编写helloworldbit测试设备驱动程序 188
9.3.8
为RPX-CLLF编写liftmon_snowcon设备驱动程序 192
9.4
小结 202
9.5
补充读物 202
第10章
同步串行通信接口 203
10.1 温度测量和显示 203
10.2 SPI通信与LM70 204
10.2.1
将LM70连接到x86的并行打印口 205
10.2.2
将LM70连接到MediaEngine 212
10.3 与飞利浦SAA1064进行I2C通信 219
10.3.1
将SAA1064连接到x86并行打印端口上 219
10.3.2
将SAA1064连接到RPX-CLLF 224
10.4 小结 234
10.5 补充读物 235
第11章
使用中断计时 236
11.1 Linux计时源 236
11.2 测量中断响应时间 237
11.2.1
在MZ104上测量中断响应时间 238
11.2.2
在MediaEngine目标机上测量中断响应时间 243
11.2.3
在RPX-CLLF目标机上测量中断响应时间 250
11.2.4
对中断响应时间测量的总结 255
11.3 比赛计时器的实现 256
11.3.1
使用任务队列处理比赛计时器的中断 257
11.3.2
使用系统定时器进行比赛计时状态的显示 258
11.4 小结 269
补充读物 269
第12章
系统集成 270
12.1 系统集成概述 270
12.2 安装系统集成应用程序 271
12.3 创建并测试开拓者项目的数据库 275
12.4 开发目标机和CGI集成脚本 278
12.4.1
采集和发布温度数据 278
12.4.2
采集并发布图像数据 284
12.4.3
采集游客标识信息并允许乘坐 289
12.5 小结 292
12.6 补充读物 293
第13章
最后的思考 294
13.1 GUI开发 294
13.2 实时能力 294
13.3 嵌入式厂商简介 295
13.4 开拓者项目的硬件 296
13.5 小结 297
13.6 补充读物 297