嵌入式门槛高,难度大,这些大家应该是都知道的,既然要学嵌入式那么这些都还是要了解的,如果是自学嵌入式的话,那么要求只会更高,下面就一起来开口自学嵌入式怎么开始吧。
嵌入式开发大抵分四个方向,硬件,驱动,内核,应用,如果是希望向嵌入式软件方向发展的话,目前常见的是嵌入式Linux + ARM方向,关于这个方向,大概分3个阶段:
1.嵌入式linux上层应用,包括QT的GUI开发。
2.嵌入式linux系统开发。
3.嵌入式linux驱动开发 嵌入式目前主要面向的几个操作系统是,LINUX,WINCE,VxWorks等等Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
自学的话你可以尝试以下路线:
(1)C语言是所有编程语言中的强者,单片机,DSP,类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。推荐书籍:谭浩强的很不错,“C编程语言”这本经典的教材是老外写的,也有中译版本。
(2)操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。推荐书籍:“UNIX环境高级编程”(第2版)
(4)了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是起码的要求复杂,也没有太多详细资料。
(5)驱动开发linux的驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。linux的驱动程序设计本质是属于的Linux内核编程范畴的,因而是对的Linux内核和内核编程是有要求的。在学习前你要想了解的Linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上介绍的就是自学嵌入式的路线了,虽然说学习嵌入式的周期长,嵌入式也比较难,自学的话对你的学习能力和专业度也是个考验,最好还是循序渐进,不要着急,一定会成功的。