互联网流传嵌入式是大坑的说法,对于坑的理解,先要从嵌入式的定义说起。根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监控或者辅助设备、机器和车间运行的装置”。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
一、从技术角度讲
1.搞嵌入式要做好下苦功夫的准备。因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理;这一领域也较新,需要学习大量的软硬件知识,所以非专业IT人员很难切入。
要学习的知识一方面包括嵌入式上层的软件应用开发,例如:精通嵌入式Linux C语言编程、嵌入式Linux C语言数据结构、嵌入式Linux项目开发流程、嵌入式 Linux并发程序设计、嵌入式 Linux应用编程、嵌入式 Linux网络编程、嵌入式数据库开发;若是Android设备的应用开发,还要了解java编程,Android应用编程。
另一方面是嵌入式底层开发。当前底层90%的企业都采用ARM处理器,低功耗、成本低倍受关注。因此必须要会:ARM处理器编程、ARM硬件接口开发、嵌入式Linux系统开发、嵌入式Linux内核开发、嵌入式Linux驱动开发。其次Android设备越来越多,同样需要了解嵌入式Linux在移动开发的典型应用、android底层系统开发。
2.这一领域发展太快,各种硬件平台的生产工具不统一。编码,编译,调试,烧录…各个方面都是大坑。使用的语言,操作系统平台,芯片性能也不统一。
二、从经济角度讲
1.学习上
嵌入式的学习十分烧钱,这就让人有些望而却步。嵌入式的学习必须要编写代码去调试。程序是二分编八分调,而调试就需要买开发板,买模块,做到天人合一,软硬结合。
2.薪资上
起薪低。嵌入式方向刚毕业薪资仅为互联网方向的一半。而做嵌入式产品时,不同的产品,需要学习不同的知识,给人一种付出得不到回报的感觉。
事实上,嵌入式无疑是卧薪尝胆。
一、嵌入式行业是个历练的过程。刚毕业的学生思维灵活,接受新东西快,所以入行往往凭软件,入行几年开始积累硬件的知识,从底层追求极致。而硬件是个慢功夫,经验比书本上的知识准确,这就需要历练。所以,每个人都要爬台阶,爬到金字塔高层的人薪资很高,且很难被取代。
二、嵌入式行业工作也是一份相对安稳的工作。因为这个行业不会消失,当然也就不用担心失业。而且还会随着时间的增长获得更多的经验和丰厚薪资。
三、这是一个努力与付出成正比的行业。嵌入式也正是因为囊括的知识多,范围广泛,所以职业生涯长,瓶颈期的到来相对要长,这就造就了嵌入式初期工作不高,但是随着经验增长薪资也在不断上涨,而薪资上限难以估计的现象。