更新时间:2021-08-31 18:01:51
封面
版权页
译者序
前言
作者简介
第1章 构建系统
1.1 引导加载程序
1.2 Linux内核
1.3 系统调用接口和C运行时库
1.4 系统共享库
1.5 根文件系统
1.6 Linux启动过程
1.7 构建嵌入式Linux系统
1.8 设置以太网通信
1.9 为NXP i.MX7D处理器构建嵌入式Linux系统
1.10 为Microchip SAMA5D2处理器构建嵌入式Linux系统
1.11 为Broadcom BCM2837处理器构建Linux嵌入式系统
1.12 使用Eclipse
第2章 Linux设备与驱动模型
2.1 总线核心驱动
2.2 总线控制器驱动
2.3 设备驱动
2.4 设备树简介
第3章 最简驱动程序
3.1 许可证
3.2 实验3-1:“helloworld”模块
3.3 代码清单3-1:helloworld_imx.c
3.4 代码清单3-2:Makefile
3.5 helloworld_imx.ko演示
3.6 实验3-2:“带参数的helloworld”模块
3.7 代码清单3-3:helloworld_imx_with_parameters.c
3.8 helloworld_imx_with_parameters.ko演示
3.9 实验3-3:“helloworld计时”模块
3.10 代码清单3-4:helloworld_imx_with_timing.c
3.11 helloworld_imx_with_timing.ko演示
第4章 字符设备驱动
4.1 实验4-1:“helloworld字符设备”模块
4.2 代码清单4-1:helloworld_imx_char_driver.c
4.3 代码清单4-2:Makefile
4.4 代码清单4-3:ioctl_test.c
4.5 helloworld_imx_char_driver.ko演示
4.6 将模块添加到内核构建
4.7 使用设备文件系统创建设备文件
4.8 实验4-2:“class字符设备”模块
4.9 代码清单4-4:helloworld_imx_class_driver.c
4.10 helloworld_imx_class_driver.ko演示
4.11 杂项字符设备驱动
4.12 实验4-3:“杂项字符设备”模块
4.13 代码清单4-5:misc_imx_driver.c
4.14 misc_imx_driver.ko演示
第5章 平台设备驱动
5.1 实验5-1:“平台设备”模块
5.2 代码清单5-1:hellokeys_imx.c
5.3 hellokeys_imx.ko演示
5.4 操作硬件的文档
5.5 硬件命名约定
5.6 引脚控制器
5.7 引脚控制子系统
5.8 设备树引脚控制器绑定
5.9 GPIO控制器驱动
5.10 GPIO描述符使用者接口
5.11 在内核和用户态之间交换数据
5.12 MMIO(内存映射I/O)设备访问
5.13 实验5-2:“RGB LED平台设备”模块
5.14 代码清单5-2:ledRGB_sam_platform.c
5.15 ledRGB_sam_platform.ko演示
5.16 平台驱动资源
5.17 Linux LED类
5.18 实验5-3:“RGB LED类”模块
5.19 代码清单5.3:ledRGB_sam_class_platform.c
5.20 ledRGB_sam_class_platform.ko演示
5.21 用户态中的平台设备驱动
5.22 用户定义的I/O:UIO
5.23 实验5-4:“LED UIO平台”模块
5.24 代码清单5-4:led_sam_UIO_platform.c
5.25 代码清单5-5:UIO_app.c
5.26 led_sam_UIO_platform.ko及UIO_app演示
第6章 I2C从端驱动
6.1 Linux I2C子系统
6.2 编写I2C从端驱动
6.3 实验6-1:“I2C I/O扩展设备”模块
6.4 代码清单6-1:io_imx_expander.c
6.5 io_imx_expander.ko演示
6.6 sysfs文件系统
6.7 实验6-2:“I2C多显LED”模块
6.8 代码清单6-2:ltc3206_imx_led_class.c
6.9 ltc3206_imx_led_class.ko演示
第7章 处理设备驱动中的中断
7.1 GPIO控制器在Linux内核的中断域
7.2 设备树中断处理
7.3 在Linux设备驱动中申请中断
7.4 实验7-1:“按钮中断设备”模块
7.5 代码清单7-1:int_imx_key.c
7.6 int_imx_key.ko演示
7.7 延迟工作
7.8 内核中的锁
7.9 内核中的睡眠
7.10 实验7-2:“睡眠设备”模块
7.11 代码清单7-2:int_imx_key_wait.c
7.12 int_imx_key_wait.ko演示