如何学习LINUX驱动开发?

今日头条

1139人已加入

描述

 很多朋友认为Linux驱动开发学起来很难,如何学习linux驱动开发?下面笔者就说说我的学习经验吧。

 

    1. 学会写简单的makefile

 

    2. 编一应用程序,可以用makefile跑起来

 

    3. 学会写驱动的makefile

 

    4. 写一简单char驱动,makefile编译通过,可以insmod, lsmod,rmmod. 在驱动的init函数里打印hello world,insmod后应该能够通过dmesg看到输出。

 

    5. 写一完整驱动, 加上read, write,ioctl, polling等各种函数的驱动实现。在ioctl里完成从用户空间向内核空间传递结构体的实现。

 

    6. 写一block驱动, 加上read,write,ioctl,poll等各种函数实现。

 

    7. 简单学习下内存管理, 这个是最难的,明白各种memory alloc的函数实现细节。这是linux开发的基本功。

 

    8. 学习锁机制的应用,这个不是最难的但是最容易犯错的,涉及到很多同步和并发的问题。

 

    9. 看内核中实际应用的驱动代码。你会发现最基本的你已经知道了,大的框架都是一样的,无非是read,write, ioctl等函数的实现,但里面包含了很多很多细小的实现细节是之前不知道的。这时候就要考虑到很多别的问题而不仅仅是基本功能的实现。 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分