arm开发板上的驱动程序 提问

发布于 2021-11-15 09:44:52 字数 297 浏览 805 评论 5

在ok6410的开发板上想驱动一个led灯,我不知道该怎么做,因为开发板自带的linux源码中貌似已经包含了很多设备的驱动程序,然后我自己想学写linux下的驱动,所以就想像单片机那样去控制一个led!

我自己的疑问有下:

1、如果我只是想驱动arm开发板上的某个led,我可以用不带系统的那种,是不是就像单片机一样

2、如果我想用linux下的led驱动,就是带系统的,想自己写的话,是不是首先要将源码中linux内核的代码提出来,然后加入自己写的某led灯的驱动,最后做成板子识别的文件烧进去

各位大侠帮帮忙啊!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

浅沫记忆 2021-11-18 01:33:30

第二个问题,你看是否有GPIO的直接驱动。然后你包个调用它的库就可以了。没有必要折腾。如果是开发板,通常都有这些资源给你用的。

虐人心 2021-11-18 01:28:47

第二个问题肯定要编写驱动的,首先linux系统要在你的开发板运行起来,然后编写驱动的,这个驱动编译要依赖你开发板上运行的系统的源码,然后动态编译,最终采用动态加载的方式运行,比如insmod led.ko就是把编译好的led驱动插入内核中,rmmod led就是把驱动给卸载掉,这样就不需要每次都编译系统了。如果你要在android系统上继续操作led,这个led驱动是做底层的操作的基础,那你就要在adnroid的如何调用这个驱动再做一层封装了,具体的可以参考网上的代码,总之是一层一层的调用关系,只是处在的层次不一样。

剑心龙吟 2021-11-17 18:55:52

先谢谢啦,第一个问题我已经解决了,真的跟单片机差不多的!

第二个问题还是没有搞透,我先在开发板上烧进linux系统,然后查看了一些它的硬件设备文件,然后我就用了一个leds的测试用例测试了一下,是可以的,能够控制灯的效果。

但是我最终是要用android系统,跟linux还是有点差距的,我也不知道具体应该怎么用,因为中间有个硬件抽象层

苍暮颜 2021-11-17 18:00:30

1.可以,把程序烧到flash的第0个块即可。重启即可运行,但是bootloader被覆盖,导致不能再启动系统,需要重新烧录bootloader。

2.提出来是什么意思?重编译?不用!linux的驱动是模块化的,编译后用insmod命令动态插入内核,都不用重启即可运行。

叹沉浮 2021-11-17 17:11:40

第一个问题是肯定的,arm也是单片机啊!

第二个问题应该不需要源码,只需要根据接口规范写驱动吧!这方面我也是门外汉。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文