Sreekrishnan Venkateswaran 大师对嵌入式学习的看法(摘抄)

Sreekrishnan Venkateswaran建议在Linux嵌入式开发中,要了解设备功能与接口技术,查阅数据手册,寻找参考驱动程序,对比硬件差异,设计驱动程序并利用软件工具编写代码。关注内核更新,持续学习以适应技术变革。
摘要由CSDN通过智能技术生成

《精通Linux设备驱动程序开发》
                作者 Sreekrishnan Venkateswaran 对学习嵌入式的建议

Linux嵌入式开发流程一览表

(1)
确定设备的功能与接口技术。
根据这些回顾一下描述过相关设备驱动程序子系统的章节。
正如本书所述,几乎Linux上的每-个驱动程序子系统都包括核心层(用于提供驱动程序服务)
和抽象层(使应用程序独立于底层硬件之外〉(见第 18章中的图 18-3 )。
你所编写的驱动程序需要合乎此框架,并与子系统中的其他组件进行接口。如果你的设备是一个调制解调器,就需要学习UART 、 tty与线路规程层是如何工作的。如果待驱动的芯片是RTC或看门狗,就需要学习如何遵守相应的内核API。
如果你面对的是鼠标,就需要弄清楚如何将其和输入事件层联系在一起。如果是视频控制器,就要理解帧缓冲子系统。在开始驱动音频编解码器之前,研究一下ALSA框架。

(2)
获取设备的数据手册井理解其寄存器编程模式。例如,对于12CDVI发射机,需要弄明白设备的从地址以及初始化过程的编程顺序。
对于SPI触摸控制器,理解如何实现其有限状态机。
对于PCI以太网卡,研究其配置空间的操作。对于USB设备,需要弄清楚其支持的端点以及如何
与其通信。

(3)
在强大的内核源码树中,搜寻可作参考的驱动程序。研究候选的驱动程序,并修改合适的驱动程序。
某些子系统提供了驱动程序框架(例如 sound战ivers/dummy.c, drivers/usb/usbskeleton.c 、 drivers/net/pci-skele

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值