驱动开发学习指南

最近遇到好几个学员,2023应届毕业生,通过今年的秋招,拿到了不错的offer,内核驱动开发,公司的核心研发岗,但是感觉自己基础有点差,有点心虚,怕胜任不了,怎么办?

这个其实不用担心的,公司以应届生的身份招你进去,一般不是用来救急扛包的,是作为预备资源来培养的,或者负责新的业务,不会给你太大的压力,公司会给你足够的学习成长空间(实习期+老员工带)。但是前提是,你的基础要打牢,学习能力要强,否则带不动,跟不上节奏,可能就会错失很多职场机会。

对于职场新人,如何打牢自己的基础呢?对于驱动开发岗来说,首先要求你对内核的理解要系统、要深厚。你要明白,公司40W招你进来,是来挑大梁的,平台遇到什么问题,一些底层的、内核的棘手问题,一般都需要这些核心员工去顶、去解决。

所以,在学习过程中,如果你还像以前那样看看寄存器、配置一下设备树,点个灯,点亮个显示屏啥的,技能树可能就稍显单薄了。而一个SoC平台,驱动模块几十个,又不可能个个都精通,全部掌握也不现实,那怎么办呢?

我们不可能学完10000个汉字才去阅读。一本字典,常用的2000个汉字掌握了,就可以流畅地阅读和交流了。剩下的8000个汉字你都不认识,为什么不感到心虚呢?因为你有了汉字的知识框架:掌握了查字典的方法,遇到不会的生字,查一下字典就可以了。

驱动开发也是一样,上百个模块驱动,各种各样的处理器和硬件平台,我们不可能一一掌握。你需要做的,也是最现实的做法,是掌握驱动开发的一些通用技能。驱动是内核中的应用程序,一个驱动会调用内核的各种API接口,使用内核的各种机制和驱动框架来完成自己的功能实现。

我们可以把驱动开发所需要内核接口、需要的各种内核机制、驱动框架这些通用的技能先掌握。先把这些基础打牢了,等以后工作了,遇到不同的开发板、不同的平台、不同的驱动模块,他们都是使用同一套内核接口和驱动框架。你把基础都学会了,就可以结合具体的开发板很快上手了,就会比别人上手块,遇到问题想得深,思考得全面,你才会渐渐地脱颖而出,在这个岗位上慢慢变得游刃有余。

Linux内核编程》这套课程,定位Linux内核驱动开发入门实战课程,将不同驱动模块所需要的内核机制和API编程接口独立抽象出来,通过系统学习和训练,可以快速掌握这些通用技能,通过12期的系统学习,练好内核驱动开发的基本功。

这套课程的优势是,不需要买开发板,使用虚拟机VMware跑ARM虚拟开发板,在上面跑U-boot+Linux+NFS开发环境,学习非常方便。开发环境不需要学员自己配置,已经配置好的虚拟机镜像下载到本地电脑,使用VMware打开就可以直接运行学习。过年回家,断了网也可以学习,坐在火车上、躺在被窝里、在自家的小院子里、坐在山坡上,都可以学习。

你的竞争对手在看书,你的情敌在磨刀,你的闺蜜在减肥,隔壁老王在练腰。机会留给有准备的人,没准备的人,机会给你都把握不住。如果对自己有要求,想提升技术,趁着这个假期,快行动起来吧:Linux内核驱动开发实战

一线原厂驱动开发经验,专门为嵌入式精心打造的嵌入式进阶视频教程,详情请点击:王利涛老师个人店