第1个回答 2017-04-12
一个嵌入式产品,一般分为硬件平台+软件系统
早期的单片机工程师,画电路图、画板子、写程序可以自己单独完成。
而到了嵌入式ARM时代,系统复杂度增大,而且在平台上往往还要跑操作系统
这就导致了一个复杂的嵌入式系统不可能一个人完成,往往需要团队合作与分工。
比如有做硬件方面的,画电路图、画板子,各种器件选材、硬件故障分析等,我们一般称为嵌入式硬件工程师,如此之外,在硬件平台上porting系统的时候,也会跟软件工程师一起工作,帮助解决移植过程中的一些硬件问题。
偏软,我们可以看做是嵌入式软件工程师,专注软件层面开发或业务逻辑开发。根据软件的层次,一般又分为驱动工程师和应用工程师。
应用工程师跟在PC上,现在差别不是很大,不同之处,就是考虑嵌入式平台的人机交互、比如触摸屏、无线连接、各种传感器的应用等。
驱动工程师跟硬件、寄存器打交道就很多了,涉及到Bootloader、系统底层BSP、驱动开发、系统移植等。要求对操作系统、硬件、ARM都有一定了解。