关于嵌入式的发展前途,要从嵌入式目前的职业岗位分化说起,目前嵌入式工程师主要有两种发展职位:软件方面的系统级嵌入式工程师、深度嵌入式工程师;硬件方面的硬件设计和硬件开发两个方面。
软件方面:
嵌入式系统工程师,主要表现为工控开发和消费品开发,
关于工控开发,以工业控制计算机为例。业内称之为系统级嵌入式开发,以C语言为主要开发语言,系统底层级别的基本碰不到,工程师要做的是实现上层的应用开发。当然有人会说,C语言的开发门槛不低,精通C语言本身就是较高的门槛。但实际上,在这个领域的开发并不需要你了解编译原理,并不需要时间空间复杂度的敏感,并不需要双向循环链表、二叉树、堆、栈等数据结构的理解,并不需要快排等算法的应用,更不需要APL @bhuztez,for,while,if....else,基本可以靠他们打天下。简单来说,有点C语言基础,再稍加磨练即可上手,当然,上手和精通是两回事。
关于消费品开发,以android开发为例。时下最火的可算是android开发了,无论是智能硬件,智能家居等,基本脱离不了安卓开发。这个的门槛高吗?如果你想把google的安卓源码刷一遍,那肯定是低不下去吧。实施上呢,市面上的安卓培训少吗?培训一个月,0基础月入过万的承诺少吗?哪怕有水分,打个折,7,8k总归也行吧。
深度嵌入式(底层级别嵌入式开发)。操作系统包括linux和RTOS等。在这种深度嵌入式开发中,平台主要依赖于ARM。刨除掉ARM指令集和rn那几个寄存器,在很多人看来,arm和普通单片机没什么区别,无非就是配置那几个外设寄存器而已。当然,在上面架系统会稍微复杂点,但是很少需要开发linux内核,很少需要开发RTOS内核的工作。
硬件方面:
硬件设计,我主要只板级硬件设计,这里暂不把芯片级设计归为嵌入式领域。板级设计我们有数字设计和模拟设计。在板级硬件设计里面,确实看似门槛很高,为啥,真正设计出具有良好EMC品质的板子(更不用说几百M的N层高速板)的工程师靠的是多年的经验和不断地学习。这里面强调了两个方面,经验和学习,这两点足以使硬件设计成为高门槛。但实际上,很多公司出于资源配置和开发周期考虑,已经不再自主设计单板,更多的是设计原理图外包PCBA,这样一来已经大大地降低了硬件设计的门槛了。第二点表现是,开源硬件的兴起,以Arduino和Rasperry Pi,Arduino的门槛很低,源于他的设计初衷是给更多非电子专业出身,甚至是艺术家使用的,一套这样的开发板从原理图到PCB,bom都一应俱全,认真学的话,同样也可以以很短的时间入门。
硬件开发,以FPGA开发为例。FPGA开发,主要在通信领域,包括在近年来的机器视觉等方向都有重要的应用方向。但是在我们常见的应用领域中,实际上在大多数环境下,FPGA都是大材小用,但却不得不用。不少工程师只是学了点皮毛就开发,不跟你讲仿真,不讲约束,直接就上,更不用讲时间和空间的关系了,呵呵。为什么能这样来呢,几个原因:第一,FPGA在工业领域的应用并不需要FPGA的真正性能,更多的是扩展和保护来出发的;第二,现在无论是X家还是A家(这个应该说是I家了吧),都集成了丰富的IP核,当然这里面也包括了许多的第三方提供的IP,这些IP的提供能够让你直接使用,不再纠结于IP本身的开发,大大减少工作量;第三,X家还是A家都已经推出了C转硬件描述语言的开发工具,在我看来这些功能可能会让不少多年深耕RTL工程师口吐鲜血。这些工具的诞生,又大大降低了硬件描述语言开发的成本。
01ARM+Linux开发
ARM系列处理器是专门针对嵌入式设备设计的,是目前构造嵌入式系统硬件平台的首选。据统计,全世界99%的智能手机和平板电脑都采用ARM架构。所有的iPhone和iPad都使用ARM的芯片,ARM在行业中将扮演一个极为重要的角色。
02FPGA开发
FPGA是一个很特殊的芯片,我们熟知的芯片都是CPU,GPU,或者是ASIC。但实际上,FPGA已经走过了30个年头,它目前已经成为一个包含各种先进电路,逻辑单元,接口,芯片封装,制造等技术的“集大成者”。FPGA由于其结构的特殊性,可以重复编程,开发周期较短,价格便宜等优势越来越受到市场的青睐。
03DSP开发数字信号处理
(DSP) 在当今的技术领域中具有非常重要的地位,未来前景非常广阔。随着智能手机、智能家居、智能汽车、医疗设备等技术的不断发展,对DSP技术的需求也在不断增加。
特别是在人工智能、边缘计算等方面,DSP技术的应用前景更加广阔。
04IC设计
在国内每年的集成电路产业销售额都在增长,那么在庞大的产业链前,人才的需求也在不断的上升,IC设计处于集成电路产业的龙头地位,对产业整体的发展起着带动作用。
在就业选择上,IC行业是一个有着极大发展前景的行业。