嵌入式学习小组
直播中

郭欣

7年用户 210经验值
私信 关注

嵌入式linux驱动学习方法分享

驱动程序地址:http://superedu.hqyj.com/zhuanti/learn.html#page1?lcg-opendv驱动程序开发是嵌入式Linux项目中工作量大的一部分内容,开发出高质量的驱动程序是项目成功的关键。Linux设备驱动的学习是一项浩繁的工程,包含如下的重点、难点。
    1 编写Linux设备驱动要求工程师有非常好的硬件基础,懂得SRAM、Flash、SDRAM、磁盘的读写方式,UART、I2C、USB等设
    备的接口以及轮询、中断、DMA的原理,PCI总线的工作方式以及CPU的内存管理单元(MMU)等。
    2、编写Linux设备驱动要求工程师有非常好的C语言基础,能灵活地运用C语言的结构体、指针、函数指针及内存动态申请和
    释放等。
    3、编写Linux设备驱动要求工程师有一定的Linux内核基础,虽然并不要求工程师对内核各个部分有深入的研究,但至少要明
    白驱动与内核的接口。尤其是对于块设备、网络设备、Flash设备、串口设备等复杂设备,内核定义的驱动体系架构本身就非
    常复杂。
    4、编写Linux设备驱动要求工程师有非常好的多任务并发控制和同步的基础,因为在驱动中会大量使用自旋锁、互斥、信号
    量、等待队列等并发与同步机制。

    上述经验值的获取并非朝夕之事,因此要求我们有足够的学习恒心和毅力。动手实践永远是学习任何软件开发的好方法,学习Linux设备驱动也不例外。此外,阅读经典书籍和参与Linux社区的讨论也是非常好的学习方法。Linux内核源代码中包含了一个Documentation目录,其中包含了一批内核设计的文档,全部是文本文件。
    学习Linux设备驱动的一个注意事项是要避免管中窥豹、只见树木不见森林,因为各类Linux设备驱动都从属于一个Linux设备驱动的架构,单纯而片面地学习几个函数、几个数据结构是不可能理清驱动中各组成部分之间的关系的。因此,Linux驱动的分析方法是点面结合,将对函数和数据结构的理解放在整体架构的背景之中。
    华清远见课程推荐:嵌入式Linux驱动开发培训班(FSLD3002)采用理论教学与实验相结合的方式,系统地介绍Linux下设备驱动程序开发过程。通过本课程的学习,学员可以掌握Linux下字符设备、块设备、网络设备、framebuffer设备、sd卡等驱动程序、u***驱动的开发,同时掌握嵌入式Linux的系统开发和分析方法。

回帖(7)

王强

2020-6-8 13:37:27
学习了
举报

张茜

2020-6-8 13:57:12
能帮助到你们就行了
举报

刘飞

2020-6-8 14:02:50
大家帮忙顶顶,好贴不要沉。
举报

周伟

2020-6-8 14:10:47
好贴不要沉,大家帮忙顶顶。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分