|
hello 驱动编写(采用模块加载的方式开发驱动)
发表于 2018-7-28 15:49:33
浏览:7454
|
回复:4
打印
只看该作者
[复制链接]
楼主
本帖最后由 天道酬勤David 于 2018-7-28 15:49 编辑
在已经成功编译好了内核后,后边准备进行驱动开发的准备工作。用hello驱动去验证交叉编译的环境。
1、介绍一下目前主机上我已经建好了工作目录/home/xxw/rk3288 .该目录下的相关文件如下:
主要是编译器,内核原文件、和hello驱动文件 看图片1
2、添加编译器到环境变量
vim ~/.bashrc 看图片2
在文件最后加上编译器的路径
看图片3
3、hello和Makefile
我是直接用的阿sai的hello.c的文件,添加了prink的输出级别,不然在加载驱动的时候看不见log打印。
hello.c的源文件
看图片4
makefile文件内容
看图片5
主要注意的编译器路径、内核路径、和驱动源文件名
4、开始编译驱动
具体指令如下,我们看到hello.ko文件是已经生成了
看图片6
5、下载到开发板,运行驱动
拷贝驱动到开发的mnt目录下,然后insmod 驱动。可以看到驱动有打印相应的log。
或者rmmod的时候,已有相应log。
看图片7
至此说明我们linux驱动的编译环境基本没有问题了。
|
-
1.png
(18.27 KB, 下载次数: 638)
-
2.png
(8.74 KB, 下载次数: 663)
-
3.png
(31.72 KB, 下载次数: 636)
-
4.png
(56.3 KB, 下载次数: 681)
-
5.png
(40.2 KB, 下载次数: 618)
-
6.png
(66.65 KB, 下载次数: 637)
-
7.png
(9.34 KB, 下载次数: 613)
|