想学习Linux 驱动,需要什么知识
发布网友
发布时间:2022-04-22 20:57
我来回答
共6个回答
热心网友
时间:2022-04-14 21:56
首先,接触linux操作系统,在你的电脑上装一个linxu操作系统(建议ubuntu,比较友好),熟悉经常要用的命令,熟悉环境(建议看“鸟哥的linux私房菜”)。
其次,阅读经典书籍是不可少的,建议先看ldd前四章,大概了解linux驱动的框架,驱动是做什么的,该如何写驱动,那本书上有一些例子,可以在你的电脑上编译,执行看看。后面的章节在结合自己的情况而定。
第三,建议阅读ulk(understanding the linux kernel)所有的内容,了解linux内核的一些基本知识,在心中建立一个框架,不必完全懂,深入了解就好,以后经常翻翻,受益无穷!
第四,别着急,这才是你真的进入linux驱动的第一步,花点钱买个开发板吧,然后了解代码的编译,下载,看看板子的datasheet,针对自己感兴趣的深入研究。建议学习流程,led灯控制---tp---i2c总线-----lcd-----camera----flash----wifi/bt等。因为这个里面牵涉了甚多内核的子系统(input,v4l2,fb等
),所以可能要多话时间看代码,了解代码的框架,设计的思想等,只要一步一个脚印,一定会有所成。
第五,因为现在的移动设备大多数都是android的了,所以你就要看看linux kernel在android的作用,然后往上看看,看看hal层的代码,这些在调试中都是需要的,如果有兴趣,更加可以看看framework的代码了,学习android一些工作机制,类似于surfaceflinger,audioflinger等等。。
热心网友
时间:2022-04-14 23:14
学习Linux驱动你会发现你的python和C#方面的知识基本用不上,因为Linux内核是C的。
首先建议先学习C语言,你有面向对象的基础面向过程理解的肯定更透彻,
其次学习计算机组成原理和操作系统两门计算机专业课程,如果能看看数据结构就更好了,
有了以上的基础,再学习一下Linux内核,推荐一部《深入理解Linux内核》,
在学习上书的过程中对Linux下驱动的编程就会有比较深的理解,这时候再来经典的驱动书籍《linux设备驱动程序 第三版》然后就是《unix环境高级编程》《unix网络编程》,
学完这些估计您就是大牛了,这时候再自己做一两个项目,找工作肯定是不愁的,考研之路也会更加轻松,对自身也是一种很好地提高。
希望对您有帮助。
热心网友
时间:2022-04-15 00:48
给你推荐一本书籍,O'Reilly:LINUX设备驱动程序(第3版),业内比较出名的书籍,可以看一下。
热心网友
时间:2022-04-15 02:40
那个知友说的都是软件方面。
硬件方面,建议你看看电子学基础等数据。
开发方面,建议先从简单的入手,比如串口/并口/LED/矩阵键盘/IIC等,难一点再做PCI/USB的。追问写这些基本的驱动,需要买板子之类的吗?
追答你先写linux上面的驱动,用这些驱动和标准设备(现有的设备)进行通信看看是否成功。如果这些都没有问题了,可以进入嵌入式领域,自己买板子吧。
热心网友
时间:2022-04-15 04:48
要了解 linux 驱动 建议你看看这本书
如果需要 电子书 联系 wushuyi541@gmail.com
热心网友
时间:2022-04-15 07:12
我也是电子专业的。也学过LINUX,搞过ARM,其实有C语言基础,学起来就轻松很多,驱动,其实也不难,因为对于电子的学生来说。对硬件有一些了解,写驱动是不难的。驱动,有一个固定的模型,都差不多的。先不用学习USB ,PCI那些,其实我们常见的驱动,LINUX内核里面都有的了。这些暂时么有必要研究太深入。那些微机,计算机的知识,其实懂得话,就真的好很多,不过不用深入了解吧,知道就行了,驱动,我觉得并不难写。都基本有现成的。难的驱动,都是那些外国芯片,我要因为资料,这个是难点,如果你英语不错的话,不难的。