纠纷奇闻作文社交美文家庭
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

基于总线设备驱动模型的LED驱动实践

8月4日 风雨峰投稿
  继续来点灯
  我们可以从LED程序中榨取很多知识:基本的驱动框架、驱动的简单分层、驱动的分层分离思想、总线设备驱动模型、设备树等。这大多都是结合韦老师的教程学的,这篇笔记结合第5个demo来学习、分析:
  框图
  LED程序的几个层次结构图:
  本篇笔记基于第个图来分析。程序分析
  关于总线设备驱动模型的理论知识我们在上一篇笔记Linux总线设备驱动模型中也有简单地学习过了。这篇笔记我们来分析、学习程序。下面分析主要基于上面的框图4。应用程序ledtest。c:intmain(intargc,charargv){1。判断参数if(argc!3){printf(Usage:sdevonoff,argv〔0〕);return1;}2。打开文件fdopen(argv〔1〕,ORDWR);if(fd1){printf(cannotopenfiles,argv〔1〕);return1;}3。写文件if(0strcmp(argv〔2〕,on)){status1;write(fd,status,1);}else{status0;write(fd,status,1);}close(fd);return0;}
  运行测试命令:。ledtestdev100askled0on。ledtestdev100askled0off
  驱动层leddrv。c
  这一层主要是放一些通用的驱动操作函数,核心代码如:
  驱动程序入口函数:
  open、write函数:
  其它代码:
  其中led的操作结构体如下:
  硬件层2:chipdemogpio。c
  这一层主要是一些寄存器相关的操作,及platformdriver相关。
  驱动初始化函数:
  probe函数:
  platformdriver与platformdevice匹配时会执行此函数获取资源。
  led寄存器操作相关的代码:寄存器物理地址defineCCMCCGR1BASE(0X020C406C)defineSWMUXGPIO5IO03BASE(0X02290014)defineGPIO5DRBASE(0X020AC000)defineGPIO5GDIRBASE(0X020AC004)映射后的寄存器虚拟地址指针staticvoidiomemCCMCCGR1;staticvoidiomemSWMUXGPIO5IO03;staticvoidiomemGPIO5DR;staticvoidiomemGPIO5GDIR;初始化LED,which哪个LEDstaticintboarddemoledinit(intwhich){intgroup,groupGROUP(gledpins〔which〕);pinPIN(gledpins〔which〕);printk(initgpio:groupd,pind,group,pin);100askIMX6uLLBoardLED:GPIO53if((5group)(3pin)){相关寄存器物理地址与虚拟地址之间的映射1、地址映射:时钟寄存器CCMCCGR1ioremap(CCMCCGR1BASE,4);2、地址映射:模式寄存器SWMUXGPIO5IO03ioremap(SWMUXGPIO5IO03BASE,4);3、地址映射:数据寄存器GPIO5DRioremap(GPIO5DRBASE,4);地址映射:方向寄存器GPIO5GDIRioremap(GPIO5GDIRBASE,4);使能GPIO5时钟valreadl(CCMCCGR1);读出当前CCMCCGR1配置值val(330);清除以前的设置val(330);设置新值writel(val,CCMCCGR1);设置GPIO5IO03的为IO模式writel(5,SWMUXGPIO5IO03);设置GPIO5IO03方向为输出valreadl(GPIO5GDIR);val(13);val(13);writel(val,GPIO5GDIR);}else{printk(Thisisnot100askIMX6ULLBoard!);}return0;}控制LED,which哪个LED,status:1亮,0灭staticintboarddemoledctl(intwhich,charstatus){intgroup,groupGROUP(gledpins〔which〕);pinPIN(gledpins〔which〕);printk(initgpio:groupd,pind,group,pin);100askIMX6uLLBoardLED:GPIO53if((5group)(3pin)){点灯if(1status){printk(ledon);valreadl(GPIO5DR);val(13);writel(val,GPIO5DR);}灭灯elseif(0status){printk(ledoff);valreadl(GPIO5DR);val(13);writel(val,GPIO5DR);}else{}}else{printk(Thisisnot100askIMX6ULLBoard!);}return0;}硬件层1:boardAled
  这一层主要是一些资源及platformdevice相关的代码。
  核心代码:
  Makefile文件
  运行测试
  首先把编译生成以下几个文件上传到板子里:boardAled。ko
  chipdemogpio。ko
  leddrv。ko
  ledtest
  这里我们使用百问网开发的100askimx6ullflashingtool工具来上传,如:
  也可以使用开发板挂载NFS来上传这几个文件,关于NFS可查看往期笔记:如何挂载网络文件系统?
  100askimx6ullflashingtool工具默认把文件上传到根目录,我们上传成功的文件如下:
  接下来,使用insmod命令来安装驱动模块leddrv。ko、chipdemogpio。ko、boardAled。ko,安装这几个模块是有顺序的,需要先安装leddrv。ko模块。
  假如我们先安装chipdemogpio。ko模块,就会出现如下提示信息:
  提示说明chipdemogpio模块中找不到ledclasscreatedevice等函数,那是因为这几个函数是从leddrv模块中导出来的:
  所以需要先安装leddrv。ko模块,再安装chipdemogpio。ko模块。安装模块成功的结果如下:
  最后,输入测试命令进行测试:
  打印信息表明测试成功、同时板子上的led也相应的亮、灭。
  以上就是本次的实验分享,如有错误,欢迎指出!谢谢
  1024G嵌入式资源大放送!包括但不限于CC、单片机、Linux等。私信回复1024,即可免费获取!
搜索 投诉 评论 转载

TMT时报抖音回应被指侵权长津湖二创不应一棍子打死B站否认篡《科创板日报》2月9讯,今日财联社TMT要闻精选主要内容有:抖音回应被指侵权《长津湖》:不实信息,二创不应一棍子打死;B站否认篡改猝死员工加班记录;Airbnb中国被罚款40万……供应链或将回迁中国?马来西亚越南多国疫情加重,东南亚电子产业拥有20亿人口的南亚和东南亚地区,目前已经占到全球新冠肺炎新增确诊病例的一半。除了已经全面失控的印度外,印尼、马来西亚、越南和泰国的疫情蔓延状况也在加剧。我们知道,中国台……互联网时代的专属定制鞋sinmec芯迈布洛克德比皮鞋前言:私人定制,相信大家都有所了解。定制的服装或是鞋子,完全符合我们个人特点,漂亮外形和舒服度兼备,一直是金字塔尖的存在。不过相对的,传统定制中繁琐的量身过程以及高高在上……基于总线设备驱动模型的LED驱动实践继续来点灯我们可以从LED程序中榨取很多知识:基本的驱动框架、驱动的简单分层、驱动的分层分离思想、总线设备驱动模型、设备树等。这大多都是结合韦老师的教程学的,这篇笔记结合……SONYICFSW55的调幅供电我发现索尼SW55在用全新碱性电池和充电电池时候,调幅灵敏度有些许的不同,使用碱性电池的时候灵敏度比充电电池高一些,尤其是充电电池电压下降后这种差异会更明显。我看了一下电……68时尚现代风,隐形门很漂亮客厅大理石质感的电视墙,搭配黑色腾空电视柜,整体质感很时尚高档;电视墙侧边的隐形门,借助木质感与不锈钢装饰条,装出了自然大方的视觉感;沙发墙以灰色的乳胶漆,结合天花……老电脑也要理性升级,不是换了硬盘就可以台式电脑用了几年之后,很多人第一反应竟是为电脑升级,这样的话,老电脑可能还可以再用几年。毕竟有些硬件还是比较好的,可以充分利用,那么一台老式的电脑,应该如何对它升级呢?网……放下手机很难吗?音画合一的TCLP9好莱坞剧院电视让你重归客我是一个电视爱好者,相信很多80后都对电视有比较深感情和执念,在那个物质不是很丰富的时代,除了每天在外边疯跑和小伙伴们玩耍之外,看电视成了我们为数不多的宅在家时的娱乐方式,直到……一文曝光诺基亚官方发布诺基亚1。42021诺基亚1。42021诺基亚从PPT和概念里走出的一款新品诺基亚1。4版本发布,是否已经看不到诺基亚的影子了,直板大屏安卓等元素已成为手机市场中最最普通的一款。据悉价……iPhone11降到3899了,冲不冲?在我看来不值得冲首先外观,这个仁者见仁智者见智,建议你去实体店感受下,虽然都是按照家族元素设计,11和12的差别还是很大的,主要体现在手感上和重量上。个人觉得12提升很大……LK分享全国一体化大数据中心协同创新体系算力枢纽实施方案近日,国家发展改革委、中央网信办、工业和信息化部、国家能源局联合印发了《全国一体化大数据中心协同创新体系算力枢纽实施方案》(发改高技〔2021〕709号,以下简称《方案》),明……我国贸易顺差1。98万亿,仅美国占1。3万亿,占全部顺差65据海关统计,今年前7个月,我国进出口贸易顺差1。98万亿元,同比增加24。8。对东盟、欧盟和美国等主要贸易伙伴进出口均增长。但美国增长速度一枝独秀的局面已经开始出现变化,……
电动车补贴大退坡自主品牌惨了,蔚来股价大跌vivo手机为何销量这么高,有什么过人之处?如何面对太空荣耀第一代旗舰,三年多过去,虽面目全非但依然坚挺教你白嫖价值488RMB的终身内购版5000左右的手机,一加,荣耀小米华为哪款性价比高?iOS14。7新测试版来了,苹果将发布全新系统云游戏时代已经到来苹果13和华为mate40Pro两款手机之间,买哪款好?追逐爱和自由,比亚迪宋PLUSDMi带你热爱奔赴州长纽森宣布南加居家令12月28日到期后或继续延长iPhoneSE3有眉目了,外形将采用家族式设计,搭载A15
重启之极海听雷焦老板为什么听雷?焦老板和吴邪什么关系?梦见认识的人死了是什么意思EDG小组第二出线!LCK网友:Faker就是EDG命中的克 六种蔬菜产前产后都应多吃懵懂的感觉作文害羞的小木无能为力的典故隋雨蒙演过的电视剧有哪些最后一部竟然是它怎么样去痘痘和痘印(去痘痘痘印用什么药膏)课文梅花魂的教学设计模板男人竟对有这种味道的女人疯狂着迷

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形