前言........................................................................................................................................ - 14 -
版本介绍................................................................................................................................ - 16 -
实验 01 内核开发基础........................................................................................................... - 17 -
1.1 本章导读.......................................................................................................................... - 17 -
1.1.1 工具...........................................................................................................................-17-
1.1.2 预备课程...................................................................................................................-18-
1.1.3 视频资源...................................................................................................................-18-
1.2 学习目标.......................................................................................................................... - 18 -
1.3 Linux 体系结构................................................................................................................- 18 -
1.4 Linux 内核结构................................................................................................................- 20 -
1.5 Linux 内核源码目录结构................................................................................................- 23 -
1.6 学习方法介绍................................................................................................................. - 27 -
实验 02 HelloDriverModule.................................................................................................- 30 -
2.1 本章导读.......................................................................................................................... - 30 -
2.1.1 工具...........................................................................................................................-30-
2.1.2 预备课程...................................................................................................................-31-
2.1.3 视频资源...................................................................................................................-31-
2.2 学习目标.......................................................................................................................... - 31 -
2.3 Vim 显示中文字符...........................................................................................................- 31 -
北京迅为电子有限公司
iTOP-4412 驱动实验手册_V1.0
2.4 Linux 内核最小模块代码分析........................................................................................- 34 -
2.4 Linux 内核模块结构........................................................................................................- 38 -
2.5 模块加载函数.................................................................................................................. - 40 -
2.6 模块卸载函数.................................................................................................................. - 40 -
2.7 模块编译的流程............................................................................................................. - 41 -
2.8 脚本文件Makefile..........................................................................................................- 42 -
2.9 实验操作......................................................................................................................... - 44 -
2.9.1 内核目录的确认......................................................................................................-44-
2.9.2 内核以及文件系统的烧写......................................................................................-46-
2.9.3 烧写镜像..................................................................................................................-46-
2.9.4 编译驱动模块..........................................................................................................-50-
2.9.5 加载驱动...................................................................................................................-54-
2.9.6 卸载驱动...................................................................................................................-56-
实验 03 Menuconfig_Kconfig................................................................................................- 59 -
3.1 本章导读.......................................................................................................................... - 59 -
3.1.1 工具...........................................................................................................................-59-
3.2 学习目标.......................................................................................................................... - 60 -
3.3 Linux 内核配置系统........................................................................................................- 60 -
版本号:V1.0
日期:2015-09-08
www.topeetboard.com
- 2 -
北京迅为电子有限公司
iTOP-4412 驱动实验手册_V1.0
3.4 Menuconfig 的操作..........................................................................................................- 61 -
3.4.1Menuconfig 发展历史简介......................................................................................-61-
3.4.2Menuconfig 操作方法..............................................................................................-63-
3.5 .config 文件和menuconfig 的关系.................................................................................- 73 -
3.6 Kconfig 和menuconfig.................................................................................................... - 78 -
3.7 图解Kconfig 和menuconfig 的关系............................................................................. - 83 -
3.8 其它配置文件................................................................................................................. - 84 -
实验 04_Makefile 编译...........................................................................................................- 86 -
4.1 本章导读.......................................................................................................................... - 86 -
4.1.1 工具...........................................................................................................................-86-
4.1.2 预备课程...................................................................................................................-86-
4.1.3 视频资源...................................................................................................................-87-
4.2 学习目标.......................................................................................................................... - 87 -
4.3 编译器路径的设置......................................................................................................... - 87 -
4.4 Make 内核编译命令执行过程简介................................................................................ - 93 -
4.5 Makefile 文件................................................................................................................... - 98 -
4.5.1 宏定义LEDS_CTL 的使用.......................................................................................-98-
4.5.2Makefile 脚本语法简介.........................................................................................-100-
版本号:V1.0
日期:2015-09-08
www.topeetboard.com
- 3 -
北京迅为电子有限公司
iTOP-4412 驱动实验手册_V1.0
4.6 Makefile 测试.................................................................................................................- 103 -
4.6.1 将LEDS 驱动不编译进内核..................................................................................-103-
4.6.2 将LEDS 驱动编译进内核.....................................................................................-110-
4.7 编译流程图解...............................................................................................................- 112 -
实验 05 总线_设备_驱动注册流程详解..............................................................................- 114 -
5.1 本章导读........................................................................................................................- 114 -
5.1.1 工具.........................................................................................................................-114-
5.1.2 预备课程.................................................................................................................-114-
5.1.3 视频资源.................................................................................................................-115-
5.2 学习目标........................................................................................................................- 115 -
5.3 总线、设备、驱动框架图分析....................................................................................- 115 -
5.3.1 总线和平台总线.....................................................................................................-116-
5.3.2Linux 设备..............................................................................................................-119-
5.3.3Linux 驱动..............................................................................................................-120-
5.3.4Linux 驱动和设备的注册过程..............................................................................-121-
5.3.5 设备节点简介........................................................................................................-123-
实验 06 设备注册.................................................................................................................- 125 -
6.1 本章导读........................................................................................................................- 125 -
版本号:V1.0
日期:2015-09-08
www.topeetboard.com
- 4 -
北京迅为电子有限公司
iTOP-4412 驱动实验手册_V1.0
6.1.1 工具............................................................................................................................. - 125 -
6.1.2 预备课程.................................................................................................................-125-
6.1.3 视频资源.................................................................................................................-126-
6.2 学习目标........................................................................................................................- 126 -
6.3 在虚拟总线上注册设备................................................................................................- 126 -
6.4 添加设备到平台总线....................................................................................................- 129 -
实验 07 驱动注册.................................................................................................................- 135 -
7.1 本章导读........................................................................................................................- 135 -
7.1.1 工具............................................................................................................................. - 135 -
7.1.2 预备课程.................................................................................................................-136-
7.1.3 视频和代码资源.....................................................................................................-136-
7.2 学习目标........................................................................................................................- 136 -
7.3 platform_driver_register 和platform_driver_unregister 函数....................................- 136 -
7.4 platform_driver 结构体.................................................................................................- 138 -
7.5 实验操作.......................................................................................................................- 141 -
实验 08_生成设备节点......................................................................................................... - 147 -
8.1 本章导读........................................................................................................................- 147 -
版本号:V1.0
日期:2015-09-08
www.topeetboard.com
- 5 -
北京迅为电子有限公司
iTOP-4412 驱动实验手册_V1.0
8.1.1 工具............................................................................................................................. - 147 -
8.1.2 预备课程.................................................................................................................-148-
8.1.3 视频资源.................................................................................................................-148-
8.2 学习目标........................................................................................................................- 148 -
8.3 为什么引入杂项设备...................................................................................................- 148 -
8.4 杂项设备注册函数以及结构体...................................................................................- 152 -
8.5 file_operations 结构体...................................................................................................- 154 -
8.6 实验操作.......................................................................................................................- 156 -
实验 09 编写简单应用调用驱动.........................................................................................- 163 -
9.1 本章导读........................................................................................................................- 163 -
9.1.1 工具............................................................................................................................. - 163 -
9.1.2 预备课程.................................................................................................................-163-
9.1.3 视频资源.................................................................................................................-164-
9.2 学习目标........................................................................................................................- 164 -
9.3 实验操作.......................................................................................................................- 164 -
实验 10-11 原理图的使用...................................................................................................- 170 -
11.1 本章导读......................................................................................................................- 170 -
版本号:V1.0
日期:2015-09-08
www.topeetboard.com
- 6 -
北京迅为电子有限公司
iTOP-4412 驱动实验手册_V1.0
11.1.1 工具...........................................................................................................................- 170 -
11.1.2 预备课程...............................................................................................................-170-
11.1.3 视频资源...............................................................................................................-170-
11.2 学习目标......................................................................................................................- 171 -
11.3 原理图PDF 的操作简介............................................................................................- 171 -
11.4 原理图——模块........................................................................................................ - 173 -
11.5 原理图——元件标号................................................................................................ - 176 -
11.6 原理图——网络标号................................................................................................ - 178 -
实验 12-13 物理地址虚拟地址以及 GPIO 初始化............................................................- 182 -
12.1 本章导读......................................................................................................................- 182 -
12.1.1 工具...........................................................................................................................- 182 -
12.1.2 预备课程...............................................................................................................-182-
12.1.3 视频资源...............................................................................................................-182-
12.2 学习目标......................................................................................................................- 183 -
12.3 单片机处理器和现代处理器.....................................................................................- 183 -
12.4 MMU 内存管理单元.................................................................................................... - 184 -
12.5 物理地址虚拟地址以及GPIO 的初始化...................................................................- 185 -
版本号:V1.0
日期:2015-09-08
www.topeetboard.com
- 7 -
北京迅为电子有限公司
iTOP-4412 驱动实验手册_V1.0
实验 14 LEDS 驱动一............................................................................................................- 186 -
14.1 本章导读......................................................................................................................- 186 -
14.1.1 工具...........................................................................................................................- 186 -
14.1.2 预备课程...............................................................................................................-186-
14.1.3 视频资源...............................................................................................................-187-
14.2 学习目标......................................................................................................................- 187 -
14.3 Led 硬件原理简单介绍...............................................................................................- 187 -
14.4 Led 管脚的调用、赋值以及配置...............................................................................- 188 -
14.5 编写简单应用调用LED 管脚,并测试....................................................................- 196 -
实验 15 LEDS 驱动二............................................................................................................- 201 -
15.1 本章导读......................................................................................................................- 201 -
15.1.1 工具...........................................................................................................................- 201 -
15.1.2 预备课程...............................................................................................................-202-
15.1.3 视频资源...............................................................................................................-202-
15.2 学习目标......................................................................................................................- 202 -
15.3 操作过程.....................................................................................................................- 202 -
实验 16 驱动模块传参数.....................................................................................................- 213 -
版本号:V1.0
日期:2015-09-08
www.topeetboard.com
- 8 -