3159|2

7228

帖子

195

TA的资源

五彩晶圆(高级)

楼主
 

《原子嵌入式Linux驱动开发详解与实战》第二章LED驱动阅读心得及实操 [复制链接]

 

最近一周粗略看了下本书的

第2章嵌入式Linux LED灯驱动开发实验

第3章 新设备驱动

 

字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。

LINUX应用程序对驱动的调用如图

 

 

驱动函数的编写

led_init主要是调用一些寄存器对IO进行初始化操作

 

led_write调用retvalue = copy_from_user(databuf, buf, cnt)来写LED管脚

copy_to_user():完成内核空间到用户空间的复制

copy_from_user():完成用户空间到内核空间的复制

 

led_exit

/* 注销字符设备驱动 */

unregister_chrdev(LED_MAJOR, LED_NAME);

 

测试APP函数重点:

比较简单,基本就是open,wrte,然后close

 

make -j32
编译成功以后就会生成一个名为“led.ko”的驱动模块文件

 

编译APP应用软件

arm-linux-gnueabihf-gcc ledApp.c -o ledApp

 

 

 

实际操作

开发板上电,确认开发板的IP

 

使用MOBAXTERM软件

登录开发板

ROOT免密登录

 

把编译出来的led.ko和ledApp这两个文件拷贝到rootfs/lib/modules/4.1.15目录中,
重启开发板,进入到目录 lib/modules/4.1.15

查看目录下的文件

 

开始测试

由于板载的LED还作为心跳等,所以先要关闭该功能在测试

/lib/modules/4.1.15 # echo none > /sys/class/leds/red/trigger

 

 

/lib/modules/4.1.15 # depmod

/lib/modules/4.1.15 # modprobe led.ko

/lib/modules/4.1.15 # mknod /dev/led c 200 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

-sh: ./ledApp: Permission denied

/lib/modules/4.1.15 # chmod 777 ledApp

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 0

/lib/modules/4.1.15 # ./ledApp /dev/led 1

/lib/modules/4.1.15 # ./ledApp /dev/led 1

/lib/modules/4.1.15 # ./ledApp /dev/led 1

/lib/modules/4.1.15 # echo none > /sys/class/leds/red/trigger

/lib/modules/4.1.15 # ./ledApp /dev/led 1

/lib/modules/4.1.15 # ./ledApp /dev/led 0

测试完成

最新回复

大佬这是学好就上板子实测,展示成果,这方法值得我学习,感谢分享!  详情 回复 发表于 2024-4-2 06:45
点赞 关注

回复
举报

7063

帖子

11

TA的资源

版主

沙发
 
大佬这是学好就上板子实测,展示成果,这方法值得我学习,感谢分享!

点评

等着你的新教程学习呢 赶紧  详情 回复 发表于 2024-4-3 10:07
 
 

回复

7228

帖子

195

TA的资源

五彩晶圆(高级)

板凳
 
lugl4313820 发表于 2024-4-2 06:45 大佬这是学好就上板子实测,展示成果,这方法值得我学习,感谢分享!

等着你的新教程学习呢 赶紧

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表