我本人是做电子设计的,主要和单片机打交道。嵌入式工程师,一般指做arm、linux相关的工作,工作内容要比做单片机工作的要复杂。程序员,这个泛指话,涉及到的工作就多了。包括单片机
这个问题我来回答,我就是做嵌入式软件的。嵌入式、单片机软件开发是基于硬件平台比如除电脑外的电子设备上开发。跟常说的程序员比如Java、Python、Android、C++、Html等应用开发语言在软件开发上又有着本质上的区别。嵌入式单片机关注于硬件平台底层的系统搭建,驱动接口的通信。一般分裸机和嵌入式操作系统。裸机适合一些电子设备不是很复杂的应用实现。对于比较复杂,多任务的功能需求的话需要嵌入式系统来完成,比如ucos、freertos、Linux、Windows Embedded、VxWorks、RTX、QNX等,还有国产的djyos、Huawei LiteOS、RT-Thread、SylixOS等操作系统。使用嵌入式操作系统的好处就是低功耗、体积小、可移植性高、效率高,基于硬件及上层应用的无缝对接,可提供可靠统一的接口,写应用层软件的工程师可以不用关注底层硬件的配置,直接调用对应的数据接口来完成应用层的功能开发等。
另外,单片机工程师主要就是负责硬件驱动、外围接口通信及外部传感器数据采集的开发调试,相对于做应用软件比如PC端、移动端的程序员来说,工作量较少,没有大量的业务代码来完成,主要就是用C语言来实现底层接口的数据采集及通信。可以这样说,术业有专攻,研发方向不同,对应工作性质的差别也就不言而喻了。