码迷,mamicode.com
首页 > 系统相关 > 详细

linux驱动开发重点关注内容--摘自《嵌入式Linux驱动模板精讲与项目实践》

时间:2017-04-28 23:29:36      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:bsp   嵌入式   程序   战略   嵌入式软件   知识   nbsp   学习   工作   

本文摘自本人拙著 《嵌入式Linux驱动模板精讲与项目实践》

初步看起来Linux设备驱动开发涉及内容非常多,而须要实现驱动的设备千差万别。事实上做一段时间驱动之后回首看来主要就是下面几点:

1)对驱动进行分类。先归纳为哪个类型的驱动。归类正确再利用内核提供的子系统进行开发,往往会发现事实上非常多通用的事情内核已经帮我们做了,一个优秀的驱动project师应该最大程度上利用内核的资源。内核已经实现的毕竟稳定性强。可移植性高。

2)找到内核的提供的子系统。接下来就是要制作该子系统对该类设备提供的表征,也就是描写叙述该类驱动的结构体,然后定义这个结构体把必要的数据进行初始化,最后调用该内核子系统提供的接口函数提交给内核管理。

这是大部分驱动程序开发的战略流程。

3)明白子系统已经做了什么,须要在自己驱动中实现哪些内容,通常做法是找一个接近的驱动程序进行改动,而不是一行一行代码进行编写。到内核中找接近的驱动例程是一个非常好非常快的方法。这些例程基本上提供接口怎样使用,调用流程等等。

4)以上基本上都是与内核接口有关,驱动第二个涉及到的就是芯片手冊,这个与做其它嵌入式软件一致。故从单片机软件开发或者其它操作系统软件开发转过来做Linux驱动开发的人员来说,这部分是一个强项。

5)驱动另外一个内容就是协议,各种嵌入式总线协议从简单的SPI到复杂的PCI或者USB等等。

协议基本知识是须要掌握的。好在内核对各种常见协议都是以子系统的形式提供,在子系统中做了大部分共性的工作。大大减少了驱动开发的工作量。

    故学好驱动开发。一个重要的方面就是对内核的学习,熟悉内核的组织和思维方式,所以对其思想做个总结是很有必要的。

linux驱动开发重点关注内容--摘自《嵌入式Linux驱动模板精讲与项目实践》

标签:bsp   嵌入式   程序   战略   嵌入式软件   知识   nbsp   学习   工作   

原文地址:http://www.cnblogs.com/brucemengbm/p/6783431.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!