MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

linux驱动开发终结者

2024-11-26 15:14 huorong linux 3 ℃ 0 评论

今天写这篇文章,并不是说以后不再做驱动了,是因为在经过一个多月的奋战后,终于把电路板所需要的驱动成功完成,并且实现了功能。恰恰相反,这才刚刚开始。当然最近也遇到了一些问题,同样也解决了一些问题。

生活中的意外通常会不约而至,工作上也是。在调试IO口驱动的过程中,遇到了这么一个问题,有些能控制,有些不能控制。这些引脚都有复用功能,同样的驱动程序竟然会出现不一样的现象。这让牛逼的我有点怀疑人生。

出现这个问题的时候,包括在调试的过程中有诸多的思考和疑问:是不是引脚对应错了,是不是设备树写错了,是不是引脚占用了,是不是驱动程序写得有问题。还是电平一直被拉低了,所以不管怎么控制,都是徒劳的。甚至有的技术支持说,可能是因为内部有上下拉,导致电流不足以驱动led。

当然种种的经过就不必言说了,已然成为历史。解决方法最重要。刚开始像tx0和tx1一样,把run放在pinctrl_hog_1外面,不管你修改了哪里都实现不了控制,也就是说复用功能不生效,不能复用为IO。放进去之后所有的都可以控制了。

这是否因为是SD卡引脚复用有关尚且不知道,但是SD卡是有热插拔功能的,所以这也是区别于和其他引脚的一个特点吧,当然了为保险起见,也可以把其他需要控制的放进里面,保证万无一失。

在这里再介绍个新学到的IO控制的方法,不需要驱动也可以控制外部IO口。

Tags:linux设备驱动开发

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言