文章来源:http://blog.sina.com.cn/s/blog_19691fa800102ymmh.html
嵌入式我想都不陌生,我们生活中嵌入式的产品无处不在,大到航空航天技术,小到智能手机,手机配件,这些都是我们生活中必备的东西,那么随着嵌入式产品的增加,随着对嵌入式工程师的需求增加,嵌入式工程师成为最具发展前途的职业之一。
对于嵌入式来说很多没有接触过,或者没有入门的人来说,感觉会觉得嵌入式很难或者会问嵌入式好不好学,那么我们就来看一下嵌入式真的很难学吗?该怎么学呢?今天我们就来深入了解一下。
首先我们要先为那些纠结学不学嵌入式的人从发展上来了解一下
一般做嵌入式系统的公司,都有自己的产品,而且所开发的产品都是通用的。另一方面从事嵌入式的每个人工作的范围相对狭窄,所涉及的专业技术范围就是几样,等时间长了这些知识越做越有经验,非常有成就感,等到了一定的年龄,买卖老本,几句知道会让那些刚进公司的出道者佩服的五体投地,还有如果自己是在在这个行业摸透了,也可以自己创业。近年来随着智能手机、平板电脑、以及宽带路由器、终端适配的发展,对这方面的人才需求还是客观的。
目前国内外这方面的人都很稀缺。
一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;
另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统、MPEG技术、无线通信协议等),掌握这些新技术的人当然很找(嵌入式技术培训:ARM开发培训、FPGA培训、DSP培训 等 )。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。
与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些,但是具体的收入是不低的。
搞企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都得按客户要求改变,往往疲于奔命,重复劳动。相比而言,搞嵌入式系统的公司,都有自己的产品计划,按自己的节奏行事。所开发的产品通常是通用的,不会因客户的不同而修改。一个产品型号开发完了,往往有较长一段空闲时间(或只是对软件进行一些小修补),有时间进行充电和休整。
另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些(ARM、RTOS、MPEG、802.11等),时间长了这些东西会越搞越有经验,卖卖老本,几句指导也够让那些初入道者琢磨半年的。若搞应用软件,可能下一个客户要换成一个完全不同的软件开发平台,那就比较苦了。如果是想进入嵌入式开发行业的人员,推荐培训课程有:嵌入式Linux开发培训、 嵌入式WinCE开发培训 、linux网络编程开发、嵌入式开发应用培训等。
还有一点学习嵌入式也是要知道的,从事嵌入式开发,也不是只有优点,也是有他的不足的
(1) 入门起点高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
(2)有少数公司经常要硕士或者研究生以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可
那么重点来了,嵌入式学习难吗,应该学些什么?
对于零基础的人,嵌入式学习如何入门呢?如果是电子或计算机专业的人,相对来说,会比较容易入门;而非电子或计算机专业的人,应该先从基本的电路和C语言编程开始学。
掌握嵌入式开发跟精通其他事情是一样的道理,需要循序渐进和坚持不懈。一步一个脚印,贵在持之以恒,最后方能学会嵌入式开发。
学习嵌入式,可以从以下方面入门。
一、模拟\数字电路,C语言编程。
模拟电路比较难学,可以选择听一些视频教程,看看最基础的教材,有时间在Multism上做一些仿真实验就可以了;数字电路比较容易学,学习一下视频教程就行了;不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言开发。做好这些之后,前期的准备工作就基本完成了。
二、单片机
掌握proteus仿真,不买硬件也可以学习。学习单片机,一是掌握单片机的各种资源,二是掌握常用元器件和总线。
三、嵌入式操作系统
学习嵌入式系统,如linux或者wince下的编程,这些对以后做应用的编程很有帮助。应该对操作系统有所了解,这对你对硬件和软件的理解,绝对有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分配资源的,系统如何来管理硬件等等。
四、ARM学习
结合arm芯片手册学习UBOOT的源代码,了解下最小的系统开发,那对你整个嵌入式开发的非常有帮助的,可以的话,还可以学习下linux的源代码,先看看linux 代码早期的版本,比如0.12 的代码等等,如果你全看完了,那基本上就已经入门了。
学习嵌入式,大概就是这四个方面入门,大家在学习的时候,可以根据自身的条件来选择,可以看书,也可以看视频,但最重要的是动手操作。
学一门技术,当然时间也是要耗费很长时间的,如果是自学的话,那就会花费半年或者更多,如果是培训学的话,4个月差不多。
学习嵌入式要多久?周期最短的学习方法,一般都是4个月,看上去都不是很难,想要走上人生巅峰无非就是努力。不过就目前的嵌入式人才市场来看,更多的是初级的嵌入式开发人才,所以现在多是通过参加一定的嵌入式培训后然后再在工作中不断的学习积累,一步步成长起来的大神,可以算是捷径了。
1、了解嵌入式硬件知识,包括硬件基础,构成,原理和接口技术等等。
2、精通C语言程序设计,因为嵌入式就是靠C语言来开发应用,所以不懂C语言,一切免谈。
3、熟悉嵌入式系统知识,如时下比较流行的嵌入式linux系统,要熟悉它的内核代码,以及运行命令,使用方法等等。了解嵌入式产品研发的特点、所需要掌握的技术规范和工作要点。
4、拥有最基本的硬件和软件应用开发能力,比如需要明白如何进行应用开发,如何处理好硬件和软件之间的兼容问题。
5、具体良好的创意开发能力,这是成为优秀嵌入式开发工程师必备的条件,也是最重要的,最有价值的。因为我们要不断的开发新的有创意的产品功能才能满足今天的消费者的口味。所以有创意的开发能力也是最能体现一个优秀开发者能力所在。
6、具备吃苦耐劳和不断学习的能力,作为一个嵌入式开发工程师一是要具有吃苦耐劳的能力、毕竟软件开发是一个项目性很强的工作,再其次,优秀的工程师还需要有不断学习的能力,软件行业的发展速度惊人,今天还引以为傲的开发技能和经验,二三年后或许就会成为明日黄花,所以要求开发人员一定要具备不断学习接受新事物的能力。想要成为一个优秀的嵌入式开发工程师并非一早一夕的事,也是通过长期的学习积累得。其实,目前这种优秀的嵌入式开发工程师非常少,这也是很多企业重金寻求的人才。
嵌入式学习不是你想的那么难,只要你有坚定的信念,那学习还是很容易的,而且记住要注重理论和实践相结合,这样才能掌握的更好,还有就是看你们自学还是培训,培训的话可以考虑华清远见还是不错的,自学的话如果自制力强的话,那也是没有问题的,所以嵌入式学习要认真努力就好。
相关推荐:http://blog.sina.com.cn/s/blog_19691fa800102ymmh.html 想要看具体的可以看这个哦