嵌入式即嵌入式系统,IEEE(美国电气和电子工程师协会)对其定义是用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统;国内普遍认同的嵌入式系统定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统;从应用对象上加以定义来说,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
嵌入式系统作为装置或设备的一部分,它是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。
FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA是一门技术,嵌入式是一种应用。
FPGA的开发就是逻辑实现+约束+综合+仿真;嵌入式的开发流程是编码+编译+调试
ARM的就业机会很多,如果是偏软,一般是系统工程师,薪酬一般般。做应用就和arm本身没太大关系。优点是就业容易。fpga就比较复杂,如果走hdl的路子,分为算法和控制。控制比如做多传感器的同时采集之类的,充分利用并行能力做到同步采集,这个收入一般般,就业渠道也一般般。算法的工资会比较有竞争力,技术含量也比控制高得多。比较适合硕士学历。
FPGA岗位非常有限,除了一线城市少数大厂,基本没有其它岗位(小公司你也看不上)。如果选择了FPGA,就只能在有限的几个公司混了。而且FPGA相对于嵌入式linux更需要懂硬件,甚至有时候要亲自动手搞点硬件。但是好处就是门槛高,可替代性差。
至于嵌入式linux,岗位多门槛也较为低一点。但是想更正贴主的一个思维:不管是嵌入式linux还是纯软件,开发语言远远不止c/c++,由于某些原因,c系列的语言用的越来越少,现在用的更多的反而是go java rust python lua之类的。嵌入式其实跟纯linux软件并没有多大区别,只是编译的时候要做一下交叉编译而已。门槛略高于纯软,但是低于FPGA。
所以总结下来,嵌入式开发较FPGA还发来说前期入门门槛较低,成长较快,对硬件基础要求不高,适合喜欢软硬结合的同学选择的发展道路;fpga是用来进行数字电路设计与仿真,对数字电路底蕴要求较高,前期入门较难,成长起来较慢,学习周期会很长。所以对于大多数人来说嵌入式开发是一个不错的职业方向选择。
Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5,京公海网安备11010802025203号