嵌入式系统设计与实践查看源代码讨论查看历史
《嵌入式系统设计与实践》,副标题:基于RK3288,朱松盛,董磊,刘洋,郭文波 著,出版社: 北京航空航天大学出版社。
书籍对于人类原有很重大的意义,但,书籍不仅对那些不会读书的人是毫无用处,就是对那些机械地读完了书还不会从死的文字中引申活的思想[1]的人也是无用的。 —— 乌申斯基[2]
内容简介
本书基于VMware Workstation和Ubuntu操作系统进行嵌入式系统开发,共18个实验,其中第1个实验用于熟悉嵌入式的开发流程,后面介绍了触摸屏控制、音频综合等17个实验。所有实验均详细介绍了实验内容、实验原理,并且都有详细的步骤和源代码,以确保读者能够顺利完成。在每章的最后都安排了一个任务,作为本章实验的延伸和拓展。
目录
第1章 嵌入式系统开发概述1
1.1 嵌入式系统介绍 1
1.1.1 嵌入式系统的定义1
1.1.2 嵌入式系统的特点1
1.1.3 嵌入式系统的组成2
1.1.4 嵌入式系统的发展3
1.2 RK3288芯片介绍 3
1.3 嵌入式开发系统介绍 4
1.3.1 特征参数 4
1.3.2 系统框图 5
1.3.3 平面示意图 5
1.3.4 电路设计 7
本章任务 20
本章习题 20
第2章 嵌入式系统开发环境构建 21
2.1 安装VMware Workstation21
2.2 安装 Ubuntu 25
2.3 安装SecureCRT 30
2.3.1 安装SecureCRT 30
2.3.2 安装SSH 32
2.3.3 使用SecureCRT远程登录 35
2.4 编译RK3288源码包40
2.4.1 安装编译相关工具 40
2.4.2 编译RK3288源码包 41
2.5 下载RK3288固件与调试42
2.5.1 安装adb调试工具 42
2.5.2 安装RK3288平台驱动 45
2.5.3 使用Android Tool下载工具升级固件 45
本章任务 49
本章习题 49
第3章 Linux驱动设计软件基础 50
3.1 实验例程目录分解50
3.2 驱动文件加载、执行和监测流程 51
3.3 驱动调试常见问题及解决方案52
3.4 Linux设备驱动调试 52
3.4.1 打印监视法printk 52
3.4.2 ioctl()控制函数 53
本章任务 56
本章习题 56
第4章 Linux设备驱动实验 57
4.1 实验内容57
4.2 实验原理58
4.2.1 Makefile简介 58
4.2.2 “/”“.”和“./”63
4.2.3 Linux下的insmod、lsmod和rmmod命令 63
4.3 实验步骤63
本章任务 70
本章习题 71
第5章 蜂鸣器控制实验 72
5.1 实验内容72
5.2 实验原理72
5.2.1 蜂鸣器电路 _________v72
5.2.2 RK3288的GPIO及编号计算 73
5.2.3 GPIO的 API函数 73
5.2.4 copy_to_user()和copy_from_user()74
5.2.5 sleep() 75
5.3 实验步骤75
本章任务 83
本章习题 83
第6章 LED控制实验 84
6.1 实验内容84
6.2 实验原理84
6.2.1 LED电路 84
6.2.2 字符设备和驱动模型 84
6.2.3 register_chrdev()和unregister_chrdev() 85
6.2.4 module_init和 module_exit宏 86
6.2.5 MODULE_LICENSE("GPL")86
6.3 实验步骤86
本章任务 96
本章习题 96
第7章 独立按键中断实验 97
7.1 实验内容97
7.2 实验原理97
7.2.1 独立按键电路 97
7.2.2 Linux中断top/bottom 97
7.2.3 中断处理程序 98
7.3 实验步骤98
本章任务109
本章习题109
第8章 RTC应用实验 110
8.1 实验内容 110
8.2 实验原理 110
8.2.1 RTC应用实验电路 110
8.2.2 PCF8563芯片介绍110
8.2.3 Linux的RTC子系统架构 111
8.2.4 RTC应用基本数据结构 112
8.3 实验步骤 114
本章任务118
本章习题118
第9章 多线程实验119
9.1 实验内容 119
9.2 实验原理 119
9.2.1 Linux多线程简介 119
9.2.2 线程常用 API函数 119
9.2.3 线程间通信 121
9.3 实验步骤 124
本章任务128
本章习题128
第10章 串口通信实验 129
10.1 实验内容129
10.2 实验原理129
10.2.1 RK3288核心板串口体系 129
10.2.2 Linux设备分类 130
10.2.3 Linux驱动程序的模块化 131
10.2.4 Linux设__________备驱动程序结构 131
10.2.5 termios结构体132
10.3 实验步骤133
本章任务139
本章习题139
第11章 STM32从机通信实验 140
11.1 实验内容140
11.2 实验原理140
11.2.1 RK3288与STM32主从通信电路 140
11.2.2 PCT通信协议 141
11.2.3 PCT通信协议在STM32从机上的应用说明 145
11.2.4 PackUnpack模块函数 147
11.2.5 serial模块函数149
11.3 实验步骤151
本章任务156
本章习题157
第12章 MicroSD卡读写实验 158
12.1 实验内容158
12.2 实验原理158
12.2.1 MicroSD卡电路 158
12.2.2 Linux块设备 158
12.2.3 MicroSD卡 160
12.2.4 文件操作161
12.2.5 文件夹操作 161
12.3 实验步骤162
本章任务167
本章习题__________167
第13章 LCD屏显示实验 168
13.1 实验内容168
13.2 实验原理168
13.2.1 显示屏接口电路 168
13.2.2 LVDS接口简介 168
13.2.3 帧缓冲169
13.2.4 BMP图像数据格式 170
13.2.5 BMP图像显示流程 171
13.3 实验步骤171
本章任务181
本章习题181
第14章 触摸屏控制实验 182
14.1 实验内容182
14.2 实验原理182
14.2.1 触摸屏电路 182
14.2.2 GT911芯片介绍 183
14.2.3 I2C协议 184
14.2.4 Input子系统 185
14.2.5 Input事件捕获186
14.2.6 触摸屏坐标点分布 187
14.3 实验步骤187
本章任务191
本章习题191
第15章 音频综合实验 192
15.1 实验内容192
15.2 实验原理192
15.2.1 音频电路192
15.2.2 ES8323S芯片介绍 194
15.2.3 I2S简介 195
15.2.4 WAV音频文件架构195
15.2.5 ALSA声卡驱动架构 196
15.2.6 tinyalsa命令 197
15.2.7 execv()函数197
15.3 实验步骤197
本章任务203
本章习题203
第16章 以太网通信实验 204
16.1 实验内容204
16.2 实验原理204
16.2.1 以太网电路 204
16.2.2 RTL8211E芯片介绍 204
16.2.3 传输控制协议与Socket 207
16.2.4 Linux以太网卡架构207
16.2.5 外网服务器通信流程 208
16.3 实验步骤209
本章任务213
本章习题213
第17章 Wi Fi通信实验 214
17.1 实验内容214
17.2 实验原理214
17.2.1 AP6255电路 214
17.2.2 AP6255芯片 __________214
17.2.3 Socket主从通信 216
17.2.4 局域网内Socket主从通信流程 217
17.3 实验步骤218
本章任务226
本章习题226
第18章 蓝牙通信实验 227
18.1 实验内容227
18.2 实验原理227
18.2.1 AP6255电路 227
18.2.2 RFCOMM 协议 227
18.3 实验步骤230
本章任务237
本章习题237
第19章 NL668模块通信实验 238
19.1 实验内容238
19.2 实验原理238
19.2.1 NL668电路 238
19.2.2 NL668 AT命令 238
19.3 实验步骤243
本章任务255
本章习题255
第20章 USB应用实验 256
20.1 实验内容256
20.2 实验原理256
6
嵌入式系统设计与实践———基于RK3288
20.2.1 USB电路 256
20.2.2 USB HUB简介 256
20.2.3 Linux的 USB驱动架构 257
20.2.4 libusb库 259
20.2.5 键盘 USB数据格式 259
20.3 实验步骤260
本章任务268
本章习题268
第21章 设备树应用实验 269
21.1 实验内容269
21.2 实验原理269
21.2.1 Linux设备树 269
21.2.2 OF函数 270
21.3 实验步骤270
本章任务279
本章习题279
附录A Linux常用命令 280
附录B vim文本编辑程序常用命令 296
附录C RK3288核心板引脚定义 298
附录D GPIO编号计算表 301
附录E 人体生理参数监测系统使用说明302
参考文献305__