尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

验证第一个Linux字符驱动程序

验证第一个Linux字符驱动程序 上一篇《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_alientekmake以后编译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 正点原子
返回列表