查看: 3307|回复: 0

嵌入式linux驱动学习方法,傻子都能看懂?

[复制链接]
发表于 2018-8-10 09:35:21 | 显示全部楼层 |阅读模式
关键词: 嵌入式 , linux , 嵌入式开发 , 嵌入式系统
linux驱动地址:http://superedu.hqyj.com/zhuanti/learn.html#page1?lcg-ee

驱动程序开发是嵌入式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卡等驱动程序、usb驱动的开发,同时掌握嵌入式Linux的系统开发和分析方法。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表