嵌入式Linux驱动开发的层次和混用

嵌入式Linux的驱动难点并不在于一个个孤立的驱动而是驱动的层次和混用。笔者看来驱动分为三个层次——高中低,而且都存在混用的情况。

高层驱动就是指直接被应用层调用的驱动。比如input、sda、uvc、sysfs等。

中层次指被高层次封装调用的驱动,比如I2C、sdio等等。他们也有可能直接被应用层调用,这样就直接上升为高层驱动了。

低层次驱动指被中层次调用封装的驱动,它们可能是platform驱动、GPIO驱动等等。

驱动一般还存在混用,比如SDIO+网络驱动等等。那种单纯的简单的字符设备驱动,一条龙的,只会出现在培训课程里。真正的做项目基本都要混用驱动。

驱动的应用层API也很重要,特别是做系统开发的一定要写好API文档。每种驱动的API都与他自身息息相关。比如ALSA驱动实际上规定了应用层的API库,sysfs固定位置调用,网络驱动的socket接口等等。

驱动开发一定要抓住:

内核函数库和语法

makefile函数库和语法

驱动子系统的层次和混用

应用层API的确定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值