媒体投放 app广告投放 京点书院 爱奇艺广告投放 抖音广告 排行榜 信息流广告 b站广告投放 微信广告投放 免费在线办公 网站地图 京东智联云 价格 站外推广 关键词 企业广告投放 广告热搜 直播推广 广告投放平台 线下广告投放 知识库 电商培训 广告投放 广告创意 广告投放渠道 图片 微信广告怎么推广 微信广告推广 新款 快手广告投放
译者序
前言
第一部分 基础知识
第1章 开发系统的安装 2
1.1 嵌入式术语 2
1.2 系统概述 4
1.2.1 BeagleBone Black开发平台 4
1.2.2 SAMA5D3 Xplained开发平台 6
1.2.3 Wandboard开发平台 8
1.3 安装开发系统 11
1.3.1 设置宿主机 12
1.3.2 设置BeagleBone Black开发平台 14
1.3.3 设置SAMA5D3 Xplained开发平台 24
1.3.4 设置Wandboard开发平台 30
1.4 设置开发系统 35
1.4.1 通过USB、网络、overlay系统设置BeagleBone Black 36
1.4.2 通过USB、网络设置SAMA5D3 Xplained 39
1.4.3 通过USB、有线网络和无线网络设置Wandboard 42
1.4.4 通用设置 45
1.5 总结 46
第2章 管理系统控制台 47
2.1 基本操作系统管理 47
2.1.1 文件操作和命令 47
2.1.2 软件包管理 55
2.1.3 管理内核消息 60
2.2 快速浏览bootloader 62
2.2.1 环境 63
2.2.2 管理存储设备 65
2.2.3 GPIO管理 69
2.2.4 访问一个I2C设备 70
2.2.5 从网络加载文件 71
2.2.6 内核命令行 75
2.3 总结 76
第3章 C编译器、设备驱动及其开发技术 77
3.1 C编译器 77
3.1.1 宿主机和目标板不同的体系结构 78
3.1.2 编译一个C程序 80
3.1.3 编译一个内核模块 85
3.2 内核和DTS文件 87
3.2.1 重新编译内核 87
3.2.2 设备树 91
3.3 什么是设备驱动? 93
3.3.1 字符设备、块设备和网络设备 94
3.3.2 模块与内置设备 95
3.3.3 modutils(管理内核模块的一个软件包) 95
3.3.4 编写一个设备驱动 97
3.4 根文件系统 106
3.4.1 /dev目录 107
3.4.2 tmpfs文件系统 109
3.4.3 procfs文件系统 110
3.4.4 sysfs文件系统 113
3.5 网络文件系统 115
3.5.1 本机输出一个NFS 116
3.5.2 设置内核以挂载NFS 117
3.5.3 通过U-Boot和内核命令行使用NFS 119
3.5.4 NFS开发 122
3.6 模拟器的使用 122
3.6.1 执行一个程序 123
3.6.2 进入一个ARM的根文件系统树 124
3.7 总结 128
第4章 使用脚本和系统守护进程的快速编程 129
4.1 设置系统 129
4.2 系统守护进程 130
4.2.1 有用的和即用的守护进程 131
4.2.2 系统守护进程管理 132
4.3 脚本编程语言 149
4.3.1 基于PHP管理LED 150
4.3.2 基于Python管理LED 153
4.3.3 基于Bash管理LED 155
4.4 编写自定义守护进程 159
4.4.1 基于C的守护进程 160
4.4.2 基于PHP的守护进程 161
4.4.3 基于Python的守护进程 162
4.4.4 基于Bash的守护进程 162
4.5 总结 163
第5章 配置一个嵌入式操作系统 164
5.1 MTD与块设备 164
5.1.1 什么是MTD设备 165
5.1.2 管理MTD设备 167
5.1.3 Flash存储系统 170
5.2 OpenWrt系统 179
5.2.1 使用缺省配置 180
5.2.2 添加(准)LAMP系统 188
5.2.3 添加自定义配置 197
5.3 Yocto系统 200
5.3.1 使用缺省配置 201
5.3.2 添加图形支持 210
5.3.3 添加自定义程序 212
5.4 总结 215
第二部分 外围设备
第6章 通用输入输出信号——
GPIO 218
6.1 GPIO 218
6.1.1 BeagleBone Black系统下的
GPIO 221
6.1.2 SAMA5D3 Xplained系统下的GPIO 221
6.1.3 Wandboard系统下的GPIO 222
6.2 Linux下的GPIO 223
6.3 访问GPIO 225
6.3.1 基于Bash的使用 225
6.3.2 基于C的使用 227
6.4 基于脚本语言使用GPIO 234
6.4.1 基于PHP的使用 235
6.4.2 基于Python的使用 236
6.5 内核管理GPIO 237
6.5.1 使用GPIO的输入设备 238
6.5.2 LED和触发器 244
6.6 总结 248
第7章 串行端口和TTY设备——
TYY 249
7.1 TTY、串行和串口线 249
7.1.1 电气线路 250
7.1.2 BeagleBone Black系统下的
TTY 251
7.1.3 SAMA5D3 Xplained系统下的TTY 253
7.1.4 Wandboard系统下的TTY 254
7.2 串行端口的实现 254
7.3 Linux系统下的串行端口 255
7.4 通信参数 256
7.5 访问TTY 256
7.5.1 距离传感器 257
7.5.2 LF低频RFID读写器 261
7.6 使用SLIP管理内核中的TTY 263
7.7 总结 268
第8章 通用串行总线——USB 269
8.1 通用串行总线 269
8.1.1 电气线路 270
8.1.2 BeagleBone Black系统下的
USB端口 270
8.1.3 SAMA5D3 Xplained系统下
的USB端口 270
8.1.4 Wandboard系统下的USB
端口 271
8.2 Linux下的USB总线 271
8.2.1 USB主机介绍 272
8.2.2 USB设备介绍 275
8.3 USB工具 284
8.4 raw USB总线 286
8.5 总结 290
第9章 内部集成电路——I2C 291
9.1 内部集成电路总线 291
9.1.1 电子线路 292
9.1.2 SAMA5D3 Xplained系统下的I2C端口 293
9.1.3 Wandboard系统下的I2C
端口 294
9.2 Linux系统下的I2C总线 294
9.3 I2C工具 295
9.4 访问I2C设备 296
9.4.1 EEPROM、ADC和IO
扩展板 296
9.4.2 温湿度和压力传感器 303
9.4.3 串行端口 307
9.5 raw I2C总线 310
9.5.1