今天在群里面讨论了驱动机制的学习,收获挺大的,在此总结一下与大家分享。错误之处请批评指正。

在驱动接触过程中,是以内存字符设备驱动作为敲门砖的,学习了驱动程序的基本框架,各种设备方法,可是内存设备毕竟只是内存虚拟出来的设备,还是要学习真正的设备驱动,那么最开始就是接触的硬件访问,怎么去访问硬件资源,IO端口,IO内存,映射,

这些概念都非常重要,然而这些硬件资源的访问与管理都是非常零散的,后面就开始介绍了了一种专门的设备管理模型来管理硬件资源,设备模型,总体来说就是将开发板上的设备作为一种模型来处理,设备模型包括了kobject,kset,总线设备驱动模型,platform模型。kobject,kset作用表现就是在sys下面创建文件,只是后者加入了热插拔机制。

设备总线驱动模型只是管理常用总线下的设备,常见总线有pci,usb,iic,spi。platform是一种虚拟总线,管理其它设备。

在这些模型基础上可以实现很多功能性驱动,比如串口网卡触摸屏的驱动。这些设备模型务必熟练掌握,因为后面内核中大量用到它们。

在后面学习串口网卡等等一些功能性驱动时,重点掌握它的驱动框架以及设备方法,比如怎样初始化注册一个串口驱动,怎样注册一个串口,串口的发送函数是怎么实现的,千万不要纠结于这些设备的设备模型,

这些模型不需要我们主动去注册实现,内核已经帮我们实现好了,我们要关注的是设备方法和设备驱动框架。这也是为什么谢老师在讲解网卡触摸屏串口驱动时没有自己编写代码,而只讲解设备原理和从内核中摘出来的基本设备方法。当然有兴趣的话可以去查看内核整个从设备模型到驱动编写是怎么实现的,不过不要深究。

转载于:https://www.cnblogs.com/lucelujiaming/p/9467862.html

今天在群里面讨论了驱动机制的学习相关推荐

  1. 文献解读|地表水和地下水中抗生素耐药性的连锁和驱动机制:它们对土地利用和季节变化的响应

    文章信息 TITLE:Linkage and driving mechanisms of antibiotic resistome in surface and ground water: Their ...

  2. PM如何整合资源——来自项目管理群的讨论[转]

    空间管理 您的位置: ITPUB个人空间 » 不胜人生一场醉 » 日志 这是最好的时代,这是最坏的时代,这是智慧的时代,这是愚蠢的时代:这是信仰的时期,这是怀疑的时期:这是光明的季节,这是黑暗的季节: ...

  3. JHM | 北大孙卫玲/西湖鞠峰-含盐地下水中ARG和菌群的多样性模式和驱动机制

    点击蓝字 关注我们 导读人:林丽敏.朱琪.王凌琴 校稿人:汤默然.鞠峰 抗生素作为临床药物的广泛使用,增加了抗生素残留物向自然生态系统的释放.这不仅加剧了抗生素对环境的污染,同时促进了抗生素抗性基因( ...

  4. 项目管理经验谈——来自项目管理群的讨论

    项目管理经验谈--来自项目管理群的讨论    max-pm-青岛 说:  我今天讲的 大纲 项目管理 1.项目经理定位 2.能力定位及发展路线 3.项目经理管控范围及项目经理类型 4.如何才能培养出相 ...

  5. html清除div浮动,HTML_清除浮动的最优方法:CSS,在CSS森林群里讨论一个margin的 - phpStudy...

    清除浮动的最优方法:CSS 在CSS森林群里讨论一个margin的问题中无意间发现overflow也可以用来清除浮动,嘿嘿,这个方法不单使用简单,而且FF.OP.IE7都支持,从此可以告别那又长兼容性 ...

  6. QQ群、讨论组上传文件,由于网络原因上传失败?

    QQ群.讨论组上传文件,由于网络原因上传失败? 听语音 | 浏览:194 | 更新:2016-10-29 14:17 | 标签:软件 电脑 1 2 3 4 分步阅读 QQ群.讨论组上传文件,总是由于网 ...

  7. android讨论功能,集成融云Android SDK实现在群聊/讨论组中@人的功能

    集成融云Android SDK实现在群聊/讨论组中@人的功能 可以确定的是融云SDK本身不提供@的功能,需要自定义实现. 在实现这个功能时,基本模仿微信的做法: 在列表中显示有人@了你 通知显示有人@ ...

  8. 解决QQ群、讨论组上传文件,由于网络原因上传失败?

    最近qq上传群文件老是失败,但是同事他们可以,目前已经解决QQ群.讨论组上传文件,由于网络原因上传失败?,做法如下: 输入regedit,打开注册表,然后找到这个位置HKEY_CURRENT_USER ...

  9. Java反射机制再学习

    Java反射机制的学习 Java反射机制的学习 转自:http://www.blogjava.net/zh-weir/archive/2011/03/26/347063.html 总结的很到位,记录下 ...

最新文章

  1. 0x55. 动态规划 - 环形与后效性处理(例题详解 × 6)
  2. Survey | 多任务学习综述
  3. 2021-03-28为什么用SCALA语言优势在哪里 Scala适合服务端、大数据、数据挖掘、NLP、图像识别、机器学习、深度学习…等等开发。
  4. win10管理员已阻止你运行此应用”解决方法
  5. Ubuntu 16.04安装XMind 8
  6. 阿里云马劲:保证云产品持续拥有稳定性的实践和思考\n
  7. c语言的考试是操作电脑还是写试卷,C语言考试试卷都是基础的题目,由于本人没学过C语言,求各位帮忙, 爱问知识人...
  8. Can‘t connect to MySQL server on ‘localhost‘(10061)【SQLyog】
  9. ICCV2021多模态视频分析与推理比赛参赛邀请
  10. iTerm2 如何设置以单词为单位快速移动光标?
  11. B站五面面经(附过程、答案)
  12. 干细胞体外培养最新技术进展(2021年9月)
  13. word文档中怎么输入公式符号
  14. 快捷方式 java 桌面_创建桌面快捷方式
  15. 电脑重装系统苹果电脑开不了机的原因分析
  16. HDMI2.0/HDCP2.2 4x2 矩阵——GSV2008
  17. 黑马程序员-JS基础-移动端网页特效
  18. python123注册登录_用Python实现web端用户登录和注册功能的教程
  19. 我常去的几家GIS论坛
  20. 支付宝APP支付申请

热门文章

  1. layui文件上传 提示 请求上传接口出现异常
  2. Maven和Eclipse整合
  3. 几行VB代码拿下注册表
  4. 《中国AI算力发展评估报告》发布!北京只能排第二,推理需求猛增
  5. 腾讯优图×厦大联队夺冠全球AI医疗大赛!刷新肝脏肿瘤影像分割世界纪录
  6. 北京公交将标配智能辅助驾驶,具备行人防撞、车道偏离预警
  7. 你的广告能打几分?Kaggle需求预测挑战赛冠军方案这样做丨教程
  8. vue 工作项目中 实现消息列表的 全选,反选,删除功能
  9. [20170816]Join Elimination Bug.txt
  10. php如何优雅地把数组传递给前端js脚本?