信盈达—您身边的嵌入式&人工智能专家
全国免费咨询热线:400-8788-909

对linux驱动的初学者的建议- 嵌入式开发

时间:2018-12-27 00:00:00 来源:信盈达 作者:信盈达

介绍下自己,目前是嵌入式硬件工程师,但是想搞嵌入式底层软件开发。工作有两年了,硬件基础能设计多层的电路板,6层,8层等,熟悉各种硬件协议,熟悉ARM平台。

这一部分是我三个月学习驱动的经验及教训。主要是ARM平台的,在此,写出来供大家参考。

1、开发平台:不管你是用什么开发板,一定要有一个开发板,选定了开发板之后,一定要选一个内核版本。建议内核版本2.6及其以后的,不要太新了。比如,我选的是TQ210,内核版本是linux3.0.8

2、书籍:书的话,推荐LINUX设备驱动程序(第3版) ,但是这本书有两个缺点,第一就是内核版本有点老,假设你想学新的内核,比如linux3.10。那么,内核的各种接口变化很大。这本书的参考意义就不是很大。第二个缺点就是,这本书读起来比较恼火,有一点难懂。但是当你慢慢品味时,你会发现,这本书真的写的很好,内容很多。(另外一本书,Linux设备驱动开发详解(第2版) 电子版的错误太多,纸质的没读过,也可以看看,但是要学会辨别那么是错误。挺期待第三版的,据说改动很大)

3、这一点就是,要熟悉内核,比如,你要会内核的移植(其实很简单的)。知道怎么配置和裁剪内核。

4、一定要搭建一个高效的开发环境:比如,在板子上搭建NFS开发环境。这样方便程序的编写和运行。我是搭建了一个虚拟机,在TQ210 板子上实现了NFS挂载根文件系统。另外,我是在虚拟机上用eclipse集成开发环境的。

总结:linux驱动学习起来没有想象的那么难,也没有那么简单。如果你觉得自己学起来比较吃力,也可以才加培训进行学习,可以参考信盈达的嵌入式linux驱动课程,课程采用最新的Rk3399(A72+A53)架构,值得学习。不管是自学还是培训,最重要的一个思想是:linux内核相当于给我们提供了一个驱动的编程接口(框架),我们要做的事是,熟悉这个框架,然后明白那些地方是我们自己编写的部分,那么是我们直接可以用的。还有一点,多看看linux内核的已经编写好的驱动。


深圳单片机培训费用_深圳单片机培训班学费深圳单片机培训机构


信盈达从事嵌入式教育十多年,积累了丰富的实战教学项目,比如:四轴飞行器机械手臂17自由度运动机器人MCU环境检测智能可穿戴智能家居等。此外,信盈达2018嵌入式课程全面升级,新添加RK3399(A53+A72)教学平台学习内容,该平台广泛适用于AR设备、VA设备、3D设备、智能机器人、人脸识别、一体机、 庭影音、集群服务器、智能交互、车载设备、医疗行业、电视盒子等。