看了别人回答的,觉得不太接地气,不过说的都对。

从目前我自己的硬体部门人员来看,结合智联和猎聘上,「硬体工程师」和「嵌入式硬体工程师」这俩职位,实际的区别很简单:

前者,设计板卡的,包括原理图,pcb这些。

这个你得会cad软体,比如allegro,熟悉设计规则,需要研究硬体方案,比如用什么处理器?用什么晶元?这样。

后者,做底层驱动程序的,一般是单片机,arm,dsp这些的驱动层开发,环境多半是带嵌入式linux系统的。需要写程序操作io,寄存器,以及内存和外设什么的,需要会c语言等编程语言,需要熟悉嵌入式系统的操作。

两者之间工作有交互,内容紧密关联。


谢邀。要想准确知道区别,我觉得问题最好修改一下:硬体工程师,嵌入式硬体工程师,嵌入式软体工程师,三者有啥区别?

1.硬体工程师

顾名思义,从前硬体电路设计的岗位(嵌入式硬体工程师也在这个范畴,具体职能视具体公司划分而定)。

硬体:从信号形式上分为,模拟电子电路,数字电子电路;从物理上划分,PCB,线材,电子结构相关件,分离式感测器件等等。

硬体工程师从事的工作就是设计上述的原理图,对元器件进行选型,甚至进行PCB版图设计(大公司一般会分离出一个岗位,layout工程师,专门负责layout)。

所以在不细分的情况下,硬体工程师职能最为广泛,同时包含,layout工程师,电源工程师(分离出来专门从事开关电源设计),信号完整性(SI)工程师,FPGA工程师(专门从事逻辑门阵列数字电路设计),甚至在一些创业公司还会从事嵌入式软体开发。毕竟从电子产业出现以来,硬体工程师是最老牌的工程师,当大家不知道自己是谁的时候,说硬体工程师就觉得毛病不大。

有没有觉得硬体工程师(泪)好(牛)牛(满)掰(面)Orz

2.嵌入式硬体工程师

自从嵌入式系统出现后,随著系统的越来越复杂,硬体工程师们已经不堪重负(哥不是万能的),嵌入式系统硬体的设计因为需要系统与受控电子电路精简的有效地连接,需要电路设计者对主控晶元(以ARM为例)的资源有非常系统的了解,这时候嵌入式硬体工程师给硬体工程师提供相应的数字介面,(硬体工程师不必要去理解嵌入式这块硬体的原理)。一句话,嵌入式硬体工程师专门负责嵌入式系统的最小系统设计以及相应的数字功能扩展。

3.嵌入式软体工程师

专门负责嵌入式系统的软体开发,主要的平台有,Linux ucosII Wince 等等,主要从事系统精简,驱动程序开发。

注意,在某些公司你可能既是2,又是3;在某些公司,你可能只是1,却发现你干了1,2,3!


两种工程师的知识掌握有交叉,就看想把握多少,手琢多利了。

一、 交叉的

二者至少都要了解电路基本知识,认识元器件标识与图,或者说知道认电路图(原理图、PCB图等)。 了解常用器件原理、常用数字介面器件功能、CPU/MCU概貌原理等。

可编程逻辑FPGA/CPLD等的开发,两种工程师就看谁有兴趣了。虽然有不少编码活,但实际上需要的硬体功底比较多。

焊接、飞线、常用仪器使用

汇编语言、 C语言等

书: 模拟电路(低频),数字电路,微机原理+介面电路

二、 硬体工程师

一般要求,与硬体相关的电路电气,比如电路设计开发、搭建组织、优化、电磁兼容分析与设计等。

然后就是特定行业系统的硬体工程师,比如微波天线雷达、工业工控、汽车电子、家用、娱乐等,就还需要补充些额外的相关功底。

同时就是搭建组装硬体电路的基本动手能力,焊接、仪器操作分析等

基础书: 电路分析、 电磁场、 高频电路、 EMC、 常用电子元件手册、常用电路范例 等。

硬体工程师,玩硬的方向走,可以进阶到晶元设计,但基础知识就需更多些。 如只跨出几步,那就是玩可编程逻辑了, 玩玩FPGA等。

玩软的方向走,可以先偏向很接近的嵌入式软体工程师套路,当然偶尔也可玩玩PC上的软体开发,现在各行入门一窥也不是多困难。

三、 嵌入式软体工程师

智能设备与器件,加入了微控制器MCU等,相当于在一个电子设备里加入了一个小CPU,具备了计算能力和程序流程操作。 这类设备为实现功能,需要程序员编码。

因为MCU和嵌入式设备,相对CPU和PC,有一些特殊要求,比如实时性、专用性、专用IO器件感测器等,所以嵌入式软体工程师有些特殊要求。另外明显的,韧体开发,比如有时需要在专用晶元比如DSP晶元上进行一些功能演算法的实现。

基础书: 汇编、 C/C++、 操作系统基础知识、 代码优化基础知识、 编译与优化基础、 Linux 编程、 Linux驱动编程,

还有所在行业需要的其它嵌入式操作系统(VxWorks等), 按行业需要的比如手机系统的底层或中间件开发(比如Android底层), 比如嵌入式图形系统Qt之类。

资料: 1. 工作项目涉及的次要器件手册,至少知道大概功能; 2. 主晶元的编程手册,比如 MCU的功能模块及相关各种寄存器配置,功能切换逻辑流程等。


广义的硬体包括所有具有物理实体的部件,但是现在通常指电子部件。所以硬体工程师一般来说是指设计产品电子部件的工程师。由于科技进步电子产品的种类越来越丰富,产生了专注于不同方向的硬体工程师,嵌入式硬体工程师是其中的一种,负责嵌入式系统的硬体设计,一般指以单片机为核心的电路设计。但是现在随著市场的要求和半导体技术的进步相当多的电子产品都是以单片机为核心的设计,所以对于大多数产品来说硬体工程师就是嵌入式硬体工程师。


严格讲是没有嵌入式硬体工程师这个概念的。与嵌入式相关的硬体就是CPU小系统及外围介面。对应单片机和低端arm小系统就是一颗晶元。对于高端CPU小系统还包括外部的ddr,flash,电子盘,电源,时钟等。有的硬体还包括扩展的串口,扩展的网口,扩展的io口,USB,IIC等介面,和具体应用相关。


谢邀,(赠送一个邀请码:104ce8e9119765)之前看到过,北京合众恒跃科技有限公司妖猫认为:

职位尽量快:画出硬体工程的未来?

zhuanlan.zhihu.com图标职位尽量快:嵌入式工程师的快乐?

zhuanlan.zhihu.com图标


推荐阅读:
相关文章