了解过嵌入式的学员,都会知道学习嵌入式还是有些难度的,这里也不是小编在夸张,现实就是这样,如果你是自学的话,就要有较强的学习能力还有专业能力了,下面可以一起来看下嵌入式软件开发学习路线。
嵌入式学习是一个循序渐进的过程,如果是希望往嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关于这个方向大概分3个阶段:
1.嵌入式Linux上层应用,包括QT的GUI开发
2.嵌入式Linux系统开发
3.嵌入式Linux驱动
嵌入式目前主要面向的几个操作系统是,Linux,WINCE、VxWorks等等。Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
你可以尝试以下学习路线:
1、C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定,因此必须非常熟练的掌握。
2、操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
3、Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
4、了解ARM的架构、原理、以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
5、系统移植的时候,就需要你从最下层的
bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
6、驱动开发
Linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。本质是属于Linux内核编程范畴的,因而是对Linux内核和内核编程是有要求的。
在学习前你要了解Linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上介绍就是学习嵌入式的路线,这也只是大概学习嵌入式的框架,在实际嵌入式软件开发中还是会设计到很多东西的,所以说嵌入式学习周期时间长,不过只要你能坚持学习,一定会成功的。