验证第一个Linux字符驱动程序
2026/9/15 6:59:45 网站建设 项目流程

上一篇《Linux驱动程序开发环境的快速搭建》已经完成了开发环境搭建,接下来就需要验证开发环境以及实现一个驱动程序的编写及测试。

在正点原子的资料库里找到以下linux内核源码文件:

\01、例程源码\10、开发板教程对应的uboot和linux源码\02.linux\

linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2

用FTP传送到ubuntu主机的/linux/IMX6ULL/linux/temp/目录下并解压:

tar -jxvf linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2

编写字符驱动程序,参考正点原子的新字符设备驱动实验里的代码,完成后修改Makefile,要确保以下目录与你的Linux内核存放的文件目录一致。

KERNELDIR := /home/bobluo/linux/IMX6ULL/linux/temp/linux-imx-rel _imx_4.1.15_2.1.0_ga_alientek

make以后编译ledApp,这些过程与教程一致,这里不再重复。

编译生成的的newchrled.ko 和 ledApp 这两个文件拷贝到 rootfs/lib/modules/4.1.15 目录里面,重启开发板。

在MobaXterm中进入到目录 lib/modules/4.1.15 中,输入如下命令加载 newchrled.ko 驱动模块:

depmod

加载驱动:

modprobe newchrled.ko

加载成功后可以看到新设备的主设备号,次设备号,

输入如下命令查看/dev/newchrdev 这个设备 节点文件是否存在:

ls /dev/newchrled -l

至此,/dev/newchrled 这个设备文件存在,而且主设备号为 249,此设 备号为 0,说明设备节点文件创建成功。

下面就可以输入命令测试驱动程序是否正常工作了,打开led命令:

./ledApp /dev/newchrled 1

关闭led命令

./ledApp /dev/newchrled 0

从测试板的led亮灭就可以看到驱动程序已经实现了led开关的控制功能。

要卸载驱 动的话输入如下命令:

rmmod newchrled.ko

这时再用ls /dev/newchrled -l命令查看,可以发现被告知已没有这个设备了。

总结一下:选择正确的linux内核文件编译驱动才不会编译失败。从SD卡的uboot启动,然后网络tftp方式加载linux内核,设备树,nfs方式加载根文件系统,可以方便的开发调试linux驱动程序 。

参考资料:

1. I.MX6U 嵌入式 Linux 驱动开发指南 V2.0.1 正点原子

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询