增加一个LED的灯控制到内核问题

发布于 2022-09-28 09:38:25 字数 122 浏览 21 评论 0

假设想回入一段程序来控制板上的LED灯,应该怎样添加到内核里,能够实现在linux启动时灯就会给出状态.
这里只想知到如何将一段代码做为一个单独的文件添加到内核源中,且不做为模块并在启动时能让它运行起来.
请指点,谢谢.

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

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

发布评论

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

评论(6

一杆小烟枪 2022-10-05 09:38:25

方法太多了。直接在内核初始化部分加代码,或者写个模块启动时加载,或者写个简单代码启动时执行。

仅冇旳回忆 2022-10-05 09:38:25

我最近也在做 还没做成
请问二楼的大侠 具体思路是不是 这样  首先是查看到LED所对应的硬件地址 然后通过LINUX的MAP 得到地址
然后对该地址进行 0 1 赋值 控制灯的通断 是否可行????

傲性难收 2022-10-05 09:38:25

到drivers目录下找一个看看是如何将某个驱动编译到内核里的

溺孤伤于心 2022-10-05 09:38:25

收到 谢谢 看看啊 我TRY TRY

香橙ぽ 2022-10-05 09:38:25

1。如果你是通过CPU本身的GPIO来控制点灯并且该GPIO的控制寄存器地址是跟内存地址统一编址的,那你不需要写驱动,直接在应用程序中mmap一把,然后操作寄存器就行了;
映射后的地址 = mmap(NULL,映射大小,PROT_READ|PROT_WRITE,MAP_SHARED,fd,待映射的起始地址)
2。如果不是,那你有两种选择:
     a。在boot/main.c使用C语言或者在更靠前的\arch\XXX\boot目录下的init.s文件中使用汇编来操作GPIO寄存器;
     b。如楼上所说,写个驱动,或者编到内核中,或者启东时动态加载。

秋日私语 2022-10-05 09:38:25

Say thanks to every feedbacks.
I have killed it successfully.

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