嵌入式门槛高,难度大,但是嵌入式的发展前景还是非常好的,这也是大家选择嵌入式的原因,不过对于新人来说正确的学习步骤还是很重要的,下面一起来看看嵌入式的学习步骤吧。
在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目。它们是纯C、纯数学、纯逻辑的题目,不涉及界面这些东西,很适合煅炼你的编程能力。
回到主题,首先我们要明白你的目的是什么,大概来说所谓嵌入式Linux可以分为两部分:底层系统、应用开发。如果你是想做应用开发,那么你去把C语言、数据结构、JAVA什么的学好吧。嵌入式应用开发和PC上的应用开发并没有什么特别要注意的。也许你说在嵌入式上要做些优化,是的,要优化,但是未经优化的程序和PC上的程序开发没什么差别。另外,当你有能力去优化时,你已经不用来问这个问题了。具体到某个例子,比如说开发界面,在PC上我们用VC;在嵌入式Linux里也许我们用QT也许用Android,这个时候你应该去学学QT、Android的编程。但是基础还是C或JAVA,在此基础上去熟悉它们的接口。你学过VC的话,也是要花时间去了解那些类、控件的。
对于初学者嵌入式的学习步骤:
先打好两个基础:
电路基础:熟悉数字电路,能看懂电路,能分析功能,能根据电路编程;
C语言基础:要学的精通,学得不好,上了系统程序看都看不懂;掌握arm架构及其外设的使用,编程控制,做相应项目;学习系统编程及网络编程,在应用程序中使用。
linux系统学习:uboot移植,内核移植、裁剪,根文件系统制作,驱动编写与移植(花比较大精力学习,它是系统的核心,也结合硬件),应用编程用户界面等。
先做系统编程或应用编程,有一定经验之后可向底层驱动发展;软件项目经验比较丰富之后可向硬件电路设计发展。
综合来说,纯应用开发(如Java)来说,门槛较低,但更新太快,发展空间有限,生命周期太短;而嵌入式开发是靠经验积累的,不用吃“青春饭”。
以上介绍的就是嵌入式的学习步骤了,本来嵌入式入门比较难,如果你是初学者的话,那么在学习嵌入式的时候,不要太着急,这是一个循序渐进的过程,等你了解了嵌入式之后这些都不是问题了。