首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

新手接触到linux驱动的有关问题

2013-01-07 
新手接触到linux驱动的问题最近在看linux源码(2.6内核的)。遇到很多问题1:源代码如何看 ? 我有些设备的驱动

新手接触到linux驱动的问题
最近在看linux源码  (2.6内核的)。遇到很多问题
1:源代码如何看 ? 我有些设备的驱动注册函数(如 register_chrdev) 都是封装了好几层的函数,那我是不是都要把它里调用的函数研究清楚?
2:关于输入子系统,它在哪里体现了外设驱动选择了基于(I2C或者串口)之类的通信
3:比如我看一个I2C设备  可以直接 调用I2C_add_register(),它跟通过输入子系统的外设驱动写法有什么不同?



ps:我之前写的是uc/os-ii操作系统的设备驱动,现在转linux驱动开发,在思路上要做什么改变?
    能告知下linux下驱动的开发思路?
    到现在看了一周的源代码,看的有点乱,写法有没有模版之类的?

[解决办法]
1:源代码可以用source insight这个软件来看,帮你一层一层展开函数调用

2:输入子系统我感觉介于驱动和应用层之间的一层,但其实是写在驱动层的,至于驱动是什么接口是你在驱动初始化里面定义的,读写函数完成数据的读取,子系统不过问,屏蔽了你的数据的实现,你只需告诉输入子系统你得到什么数据,无需告诉他你怎么得到的。

3:iic设备的话,你需要注册到内核,如果你这个设备用到输入子系统,例如触摸屏,你还需要注册到输入子系统。

才看一周的代码,spi子系统我看了一个月,才稍微明白怎么回事。

热点排行