linux设备驱动程序这本书怎么阅读

拿到书完全不知道怎么看啊,看完可以写个鼠标驱动吗?... 拿到书完全不知道怎么看啊,看完可以写个鼠标驱动吗? 展开
 我来答
百度网友b9aa5059d
2017-05-25 · 超过28用户采纳过TA的回答
知道答主
回答量:62
采纳率:100%
帮助的人:54.5万
展开全部

个人认为最好先学学linux kernel 框架及API,驱动写得多了感觉真的很空,linux本身将驱动框架层层规范导致初学看着难,其实就是调用kernel API进行各种ops跳转,互斥控制,通知等,最后怼到HW Reg和IRQ上。(了解rtos驱动就知道操作HW其实很直接,linux驱动各种烦)

  1. 必须有个arm开发板,配套有kernel和datasheet,公版linux看出花来也没用

  2. 学习如何编写ko,编译及insmod

  3. 学习字符驱动的编写cdev,知道sysfs怎么回事,和驱动的关系

  4. 学习如何通过sysfs或 dev下节点与驱动交互

  5. 照着datasheet看一些简单驱动eg. gpio led,uart ... ,

    (其实最简单的是ARM Generic Timer,也没驱动但是一个很直观且能操作并能产生中断的HW,需看armv7或v8手册,提醒如果开发板arm版本过低可能不支持)

  6. 照书上写的方法去仿照写这些驱动

  7. 然后就不停的debug

PS. 保证看完这本书基本驱动编写的概念能建立,写鼠标驱动就想太多了

追问
鼠标驱动这么难?有什么书介绍硬件协议的吗,比如usb、iic、spi之类等等?
秒懂百科
2021-05-08 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

「秒懂百科」一分钟读懂《LINUX设备驱动程序》

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式