讨论一个有趣而又无聊的问题。

Jarvif 2017-12-14 03:41:33
看一些商家核心板给的手册知道,echo 0 > /sys/class/leds/LED1/brightness 这个命令可以点亮LED灯。

但是,这种通过修改文件值得方法是怎么控制LED灯的?

首先,我理解是。开发板在一开始运行,就会实现执行一个编写好的程序,然后通过读取这个如上图路径的文件的值,然后通过标志位这样来调用驱动打开或者关闭LED灯。这是可行的。
但是,这样会有一个问题,就是不管我用不用这个LED测试,开机都得调用这个应用程序,效率不就变得低了么。虽然不消耗不大,但是也是降低效率了啊。

所以,我想问知道的,是否清楚这种实现原理啊。到底是不是我说的这样,还是有其他的方法的。
...全文
306 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jarvif 2017-12-14
  • 打赏
  • 举报
回复
意思是说,Linux系统注册设备驱动,就都会提供一种操作的方法给对应的设备驱动,然后只需要按照这种方法去操作就可以了?换句话说,就是不管怎么样,这种方法(即相当于开机就执行一个LED等的应用程序)都是Linux系统集成了,无法去掉,若要去掉只能自己裁剪系统。是这个意思么。
枫叶会再红吗 2017-12-14
  • 打赏
  • 举报
回复
晕 这就是驱动提供给上层的一个接口啊 用sysfs_create_group 来创建默认在sys/class目录下 具体对led操作在驱动里面做了

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧