嵌入式这个概念很广泛,可裁剪定制的电路都可称之为嵌入式。如果用比较通俗一些的例子来理解,现在我们用的电脑,如果把一些不需要的设备去掉,按照要求定制一款电脑,其实也可以叫嵌入式。自行设计的硬件、电路部分叫做嵌入式硬件,在这种设备上运行的软件就叫嵌入式软件。
嵌入式软件工程师,顾名思义是从事嵌入式软件开发的人。软件开发一般又分为驱动程序的开发和应用层软件的开发。当然真正的工作岗位还会细分的很多,不过万变不离其宗,主要是基础知识的积累,例如核心编程语言C语言,及相关的编程结构算法,网络框架、协议,这个很重要。然后就是一些对硬件、外设的了解,具体IO接口的使用,设备文件的操作等,开发使得此类硬件外设可以被系统识别并且支持的软件部分。当然,如果是需要更多的面向人机交互部分,就会需要一些界面开发类的知识,例如应用程序、桌面软件、单机控制界面等。此类一般需要了解一些面向对象的语言,辅助开发的进行。
嵌入式软件开发,从上面的介绍中,应该能够了解到,主要侧重于应用层的实践与学习。那么我们要想在嵌入式行业做的更全面,其实需要尝试软件及硬件技能都同时具备。这样的职位叫做嵌入式开发工程师,要负责两个方向的工作, 软件开发与硬件开发。特别是在新产品开发中,对软硬件都要比较熟悉。一般情况下嵌入式工程师使用的微型控制器MCU 都不是很复杂的,相对来说比较简单的产品设计。在软件方向,对编程的处理灵活,学习的地方比较多。在硬件上,对硬件器件熟悉,可以做一些驱动开发和调试,能熟练使用专业办公软件。
所有,说到这里,大家应该是可以有一个对技术体系和职位的一个纵向的层次概念了,应用从技术上分(1)系统设计工程师 (2)硬件工程师 (3)底层驱动工程师 (4)Linux系统工程师 (5)应用设计工程师。当然,职业都有菜鸟和大牛的区分,所以,每个职位也是有横向深造方向的,对应用开发有兴趣或者比较擅长,完全可以在这个领域继续专研,做到最好!