创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

嵌入式软件工程师和嵌入式硬件工程师有什么区别

陈翠 来源:网络整理 2018-04-08 08:58 次阅读

什么是嵌入式硬件工程师

随着嵌入式技术的普及,硬件工程师的性质也有所改变。嵌入式硬件工程师与我们平常所说的硬件工程师不同。嵌入式硬件工程不但要求具备硬件工程师的基本技能,还必须完成部分软件工程师的工作,例如: 底层驱动的开发嵌入式操作系统的裁剪,移植; GUI、文件系统等软件的移植; 基于嵌入式操作系统的底层驱动程序的设计等。

什么是嵌入式软件工程师

嵌入式软件工程师与我们平常说的软件工程师不同。

我们平常说的软件工程师大部分指的是windows 和linux 操作系统下应用软件的开发人员,硬件平台是基于PC 机的。而嵌入式软件工程师则是指在wince.linux 等嵌入式操作系统下进行用户应用软件开发的人员,硬件平台则是基于嵌入式产品的(例如: 手机、PDA 等)。软件开发工具也有所区别,嵌入式软件开发一般使用的是嵌入式系统专用的开发工具,例如wince 下的evc,和linux 下的qt 等。

嵌入式软件工程师和嵌入式硬件工程师有什么区别

软、硬件工程师工作性质的区别

嵌入式硬件工程师的工作是为软件工程师搭建好硬件平台和必要的开发环境。 嵌入式软件工程师则是根据用户的需要完善产品的软件功能。硬件工程师就像是设计师和建筑师,负责整个建筑的设计和建设。软件工程师则是负责房间的装修,锦上添花。

总的来说, 硬件工程师的工作性质尤为重要,因为硬件工程师在设计产品 时不但要完成产品的基本功能,还必须考虑多方面因素: 功耗、干扰、后期维修、生产安装等。一旦某一个因素考虑不周全,会造成整个产品的设计失败。

除此之外,产品在设计中可以没有软件工程师,绝不能没有硬件工程师。 因为在某些对实时性要求严格的嵌入式产品(例如: 工业产品)或者某些低性能的嵌入式产品(例如: CPU 使用单片机的产品) 中,往往是不能够使用操作系统的。 这时,整个产品的设计工作则全部由硬件工程师来完成了。

嵌入式软、硬件工程帅的就业形式

软件工程师的工作性质使得软件工程师的起点较低,所以目前国内的软件工程师居多。并且目前国内的嵌入式培训都是以软件培训为主。所以从长远看,硬件工程师的就业压力要小。

但是另一方面,企业中硬件开发人员需求量要比软件开发人员的需求量小。因为一旦产品定型,后期的产品升级都是由软件来完成的,硬件的更新和变动很少。

嵌入式软、硬件工程师的工作稳定性

一般来说软件工程师的人员流动性要比硬件流动性要大。

首先,我们都知道,产品是企业生存的命脉,如果产品的设计资料泄露,那么该企业的生存优势就不存在了。所以,企业会千方百计的留住产品设计的核心人员,尤其是硬件设计人员。

另外,培养一个硬件工程师比较难,而且时间也比较长。所以企业一般不会主动去培养一个硬件工程师,并且也不会轻易放弃一个硬件工程师。

第E,由于目前软件工程师居多,企业可供选择的机会也多,所以软件工程师的流动性要高。

嵌入式软、硬件工程师的工资待遇比较

工资待遇的高低由企业所处的地域、行业、企业的性质和人员的工作岗位而定。由于每个企业的情况不同,所以工资待遇的差异很大。

对于以硬件产品为主的企业来说,硬件开发的成本高,产品的成本也高。因为后期的加工生产,维修等等都需要很大的费用。所以企业的利润较低。不过由于硬件工程师掌握着企业的命脉,所以企业会提高硬件设计人员待遇。

对于以软件产品为主的企业来说,开发的成本较低,一旦开发完成,后期的产品基本无成本。所以软件行业的利润较大。但是,由于软件工程师人员多,所以待遇也有所下降。

嵌入式的硬件工程师和软件工程师哪个更有前途

1、先从企业的角度来讲讲。我个人认为造成这个差异的原因,第一个是基本上所有的公司,从初创公司到全球百强,都有对软件工程师的需求。现在哪个公司不需要几个码农来开发app,或者做个web。但是做硬件这种工作并不是所有公司会去做的。

2、第二点要归功于现在的创业潮。不管在美国在中国互联网创业都是趋势,但是可以说绝大部分的初创互联网公司做的都是软件方向。有个点子,有点技术,找几个合伙人抱着电脑就能开干了。但是初创公司要专注做硬件开发就比较难了,因为成立设计硬件公司的门槛和起步开销比较大。所以这也导致大部分初创公司以互联网为主,能做的了硬件设计的公司基本上都是处于垄断地位的大企业。

3、第三个很重要的原因就是硬件设计。在现在来看已经是相对成熟的技术,我甚至有ee的同学跟我说大部分硬件的东西已经步入夕阳产业的范畴,因为很多东西已经成了规范,也因为很多东西被自动化所取代。前一阵子全球大牌的硬件公司才裁了不少人,intel更是裁掉了接近20%的硬件工程师。但是互联网热从90年代开始到现在热头还没过,而且未来诸多产业如人工智能、机器学习、图像识别、大数据都才刚起步,所以还有一定的上升空间。

4、再从个人的角度来讲。想成为一名软件工程师找到工作的门槛远比成为一名合格的硬件工程师低很多。要想以软件工程师的身份混到个饭碗,学两门语言学好,常用的数据结构,刷点题就基本上能找到薪水小几千的岗位,像学朱有鹏老师课程的学生学得好都是上万的。

5、但是要想成为一名合格的硬件工程师,不是科班出身的不好好学几门模电数电信号逻辑设计的课,没有在学校实验室里自己焊点电路做实践,连简历都发不出去。而且现在要想学个什么语言框架,网上搜一搜“”xxx语言入门教程“”就有非常丰富的资源,但是要是在网上搜“如何学好超大规模集成电路设计”,要想找到可以受用的资源几乎是不可能的。而且就我所参加的招聘会来说,如果有招硬件工程师基本都要求有研究生的学位,但是对软件工程师的要求基本上就是熟悉算法数据结构,会web编程有相关经历就够了。

6、软件工程师很多时候吃的是体力,硬件工程师大部分时候是吃经验,所以硬件工程师一般得有一定的经历积淀才能脱颖而出。尤其像模电这种上手程度很高的方向,没个十年八年的相关经验根本不算学成出师。所以说本身对从业者的资质要求更高,也是硬件工程师不好找工作的原因之一。

收藏 人收藏

    评论

    相关推荐

    嵌入式软件的注释技巧

    交付产品的压力经常导致天马行空般的编码风格,为了完成任务以便尽早推出产品,代码是想到哪就编到哪。在疯....
    的头像 安芯教育科技 发表于 05-20 10:10 485次 阅读

    【新直播上线】把握科创趋势,抓住科创机遇

    我们为什么做这场直播: 《中国硬件创新创客大赛》是由深圳市福田区科技创新局指导,深圳华秋电子有限公司主办,面向硬科技初创...
    发表于 05-16 15:00 1449次 阅读
    【新直播上线】把握科创趋势,抓住科创机遇

    快看看!免费学习课程《驱动电路设计-精选篇》

    当下便携式、可移动、无线化越来越成为产品的趋势。而实现该产品形态的关键技术主要是基于锂离子电池的BMS系统,以及无线充电...
    发表于 05-12 11:21 2434次 阅读

    振弦传感器采集模块的是怎么激励和采样值?

    发表于 05-12 09:54 3249次 阅读

    IAM-20680-加中断I2C的ioctl读写问题?

    不加运动唤醒中断正常读写、添加之后报错: write ioctl error : Invalid argument write ioctl error : Remote I/O error...
    发表于 04-27 16:54 5858次 阅读

    资深嵌入式软件工程师推荐这些开发工具,效率倍增

    作为一个软件开发人员,除了程序能力素养方面外,还应该熟练地使用各种常用的辅助工具,所谓“工欲善其事,必先利其器”;通过这...
    发表于 04-26 10:54 823次 阅读

    如何用Arm-2D制作一款flappy bird的小游戏

    今天我们用Arm-2D制作一款时下流行的小游戏flappy bird,由于版权问题,没有用原版素材,它的玩法也很简单,只需要一个按键控制...
    发表于 04-06 10:06 2223次 阅读

    什么是击穿?雪崩击穿和齐纳击穿有什么区别?

    在了解雪崩击穿和齐纳击穿的区别之前我们还是要先搞懂什么叫击穿!击穿就是电介质在足够高的电场强度作用下瞬间失去介电功能的现...
    发表于 03-27 10:15 4612次 阅读
    什么是击穿?雪崩击穿和齐纳击穿有什么区别?

    嵌入式硬件设计中需要关注的6个点

    嵌入式系统的正常运行不但需要稳定足够的电源,还要有足够的电流,因此在选择电源器件的时候需要考虑其负载....
    的头像 EDA365电子论坛 发表于 03-25 10:45 430次 阅读

    在hi3861上,移植mqtt,并测试发消息到自己的服务端上,烧录后报错 wifi_service

    各位好,在hi3861上,移植mqtt,并测试发消息到自己的服务端上,烧录后报错 是为什么呀?服务端那边也没收到任何信息也没有连接上...
    发表于 03-24 18:36 2224次 阅读
    在hi3861上,移植mqtt,并测试发消息到自己的服务端上,烧录后报错 wifi_service

    有效提高编译速度的方法

    今天就来说说嵌入式软件开发中,常见的提高编译速度的一些操作或者方法。
    的头像 strongerHuang 发表于 03-09 17:31 1044次 阅读

    如何对RK3399 IR进行调试?

    如何对RK3399 IR进行调试?
    发表于 03-07 06:21 515次 阅读

    请教一下RK3568开发板的启动流程是怎样的呢

    请教一下RK3568开发板的启动流程是怎样的呢?
    发表于 03-02 06:50 297次 阅读

    [GPIO]推荐一种超简单的硬件位带bitband操作方法,让变量,寄存器控制,IO访问更便捷,无需用户计算位置

    目录说明:硬件位带操作优势优势1:优势2:背景知识(1)将1MB地址范围 0x20000000 - ....
    发表于 01-18 11:09 50次 阅读
    [GPIO]推荐一种超简单的硬件位带bitband操作方法,让变量,寄存器控制,IO访问更便捷,无需用户计算位置

    RC时间常数

     假设有电源Vu通过电阻R给电容C充电,V0为电容上的初始电压值,Vu为电容充满电后的电压值,Vt为....
    发表于 01-18 10:31 216次 阅读
    RC时间常数

    DS1302时钟芯片读写操作(基于普中A2开发板)

    一、命令字讲解命令字为一个字节,由八个位组成。1、位7固定位1;否则不可对DS1302进行操作;2、....
    发表于 01-18 09:43 136次 阅读
    DS1302时钟芯片读写操作(基于普中A2开发板)

    DS1302时钟与可调时钟

    main()#include #include "LCD1602.h"#include "DS130....
    发表于 01-18 09:15 60次 阅读
    DS1302时钟与可调时钟

    1.2 DS1302时钟组件

    #ifndef __DS1302_H#define __DS1302_Hvoid Write_Ds1....
    发表于 01-18 09:06 59次 阅读
    1.2      DS1302时钟组件

    上升沿检测电路学习笔记

    上升沿检测电路的原理:输入信号d,经过一拍的延迟后,产生delay信号,将dout=d&(~dela....
    发表于 01-18 08:32 170次 阅读
    上升沿检测电路学习笔记

    STM32学习笔记

    1、什么是上拉下拉、什么是开漏输出和推挽输出?其实很简单。推挽输出就是你想输出1就输出1,想输出0就....
    发表于 01-17 13:42 63次 阅读
    STM32学习笔记

    stm32 程序复位和跳转

    一、设置内核控制寄存器 core control register __set_CONTROL(....
    发表于 01-17 12:43 82次 阅读
    stm32 程序复位和跳转

    异步复位问题

    复位中的同步复位和异步复位问题:恢复时间是指异步复位信号释放和时钟上升沿的最小距离,在“下个时钟沿”....
    发表于 01-17 12:25 71次 阅读
    异步复位问题

    EDA技术试验一:Quartus II 软件和 DE2-115 开发板使用入门

    实验目的熟悉 Quartus II 开发环境,掌握原理图输入方式、文本输入方式和波形仿真;熟练掌握在....
    发表于 01-17 11:27 107次 阅读
    EDA技术试验一:Quartus II 软件和 DE2-115 开发板使用入门

    【STM32单片机-编程入门】LED闪烁(寄存器操作、标准库函数方式)

    工程下载:STM32单编程-LED闪烁.zip - 蓝奏云文件大小:291.1 K|https://....
    发表于 01-17 11:04 132次 阅读
    【STM32单片机-编程入门】LED闪烁(寄存器操作、标准库函数方式)

    proteus仿真duplicate part reference 报错

    在proteus仿真中,运行代码后发现出现了duplicate part reference 报错。....
    发表于 01-17 10:38 158次 阅读
    proteus仿真duplicate part reference 报错

    C51 Proteus仿真板

    “新手上路的你急需一块开发板,也不贵就100来块,再加点外设模块就200多!” “我这51开发板买的....
    发表于 01-17 10:31 26次 阅读
    C51 Proteus仿真板

    Proteus C51仿真学习板2——数码管

    数码管,顾名思义就是用于显示数字的,无论是小型的闹钟、门牌指示等,还是大型的红绿灯、显示屏等,都是由....
    发表于 01-17 10:30 56次 阅读
    Proteus C51仿真学习板2——数码管

    RT-Thread学习笔记 -- 时钟管理

    RT-Thread学习笔记 – 时钟管理软件硬件定时器区别1.定时器分为硬件定时器和软件定时器。区别....
    发表于 01-17 09:53 66次 阅读
    RT-Thread学习笔记 -- 时钟管理

    【FreeRTOS 应用开发笔记】软件定时器(九)

    9
    发表于 01-17 09:52 18次 阅读
    【FreeRTOS 应用开发笔记】软件定时器(九)

    STM32F103寄存器方式点亮LED流水灯

    一、使用寄存器点亮LED灯1.建立相关文件新建总文件夹用来存放本次工程的所有程序,然后再建CORE、....
    发表于 01-17 09:51 106次 阅读
    STM32F103寄存器方式点亮LED流水灯

    微机笔记6——输入输出控制

    微机接口技术接口的功能1)寻址功能(必需)识别是否是I/O口的操作信号,识别是否为端口的片选信号,识....
    发表于 01-17 09:42 50次 阅读
    微机笔记6——输入输出控制

    第九章:输入输出系统

    9.1主机与外设的连接输入输出信息传送控制方式1、 程序查询方式程序查询方式是一种程序直接控制方式,....
    发表于 01-14 15:55 47次 阅读
    第九章:输入输出系统

    五、【中级篇】时钟树、定时器、中断

    三、定时器、中断在STM32芯片中提供了非常丰富的定时器资源:普通定时器和其他定时器普通定时器 : ....
    发表于 01-14 15:44 83次 阅读
    五、【中级篇】时钟树、定时器、中断

    STM32中断与DMA通信编程

    一、STM32中断使用NVIC 中断优先级管理Nested Vectored Interrupt C....
    发表于 01-14 15:37 77次 阅读
    STM32中断与DMA通信编程

    STM32中断控制led灯

    这里写自定义目录标题功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插....
    发表于 01-14 15:35 43次 阅读
    STM32中断控制led灯

    通过中断控制led灯 与 中断通信

    目录一、中断的介绍1.1 单片机的中断1.2 STM32的中断1.2.1 中断地址1.2.2 中断优....
    发表于 01-14 15:32 82次 阅读
    通过中断控制led灯 与 中断通信

    STM32之中断控制LED灯

    目录一.中断二.创建工程三.运行一.中断(1)中断地址:程序的执行无非就是寻找地址,中断也是程序的一....
    发表于 01-14 15:30 65次 阅读
    STM32之中断控制LED灯

    Verilog——Uart

    串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。串口通信是指采用串行....
    发表于 01-14 13:34 57次 阅读
    Verilog——Uart

    CAN接受和发送失败的原因有哪些---之前调试MCP2515驱动时,数据一直发不出去,三个发送邮箱都被占满.至今未解决,读寄存器-总线错误

    0.CAN总线错误分析与解决–讲的最精辟的放在最前面我们知道CAN总线上的每个节点往总线上发送数据的....
    发表于 01-14 13:21 217次 阅读
    CAN接受和发送失败的原因有哪些---之前调试MCP2515驱动时,数据一直发不出去,三个发送邮箱都被占满.至今未解决,读寄存器-总线错误

    STM32笔记之舵机控制

    MG90S舵机1. 简介
    发表于 01-14 13:04 70次 阅读
    STM32笔记之舵机控制

    SimpleFOC -位置控制代码

    #include #include // 无刷直流电机及驱动器实例BLDCMotor motor =....
    发表于 01-14 12:56 128次 阅读
    SimpleFOC -位置控制代码

    STM32F103-定时器编码器模式和高级定时器输出互补的PWM信号

    STM32F103-定时器编码器模式和高级定时器输出互补的PWM信号刚使用STM32时使用输入捕获中....
    发表于 01-14 12:53 119次 阅读
    STM32F103-定时器编码器模式和高级定时器输出互补的PWM信号

    AN0001 AT32 IAP 使用 USART

    前言对于AT32 MCU,除了出厂固化的bootloader,用户也可以在应用程序中编写自己的boo....
    发表于 01-14 12:52 66次 阅读
    AN0001 AT32 IAP 使用 USART

    OneNET分享完结篇 | 让你的设备连接上OneNET平台

    大家好,我是程序员小哈。今天把OneNET相关内容的分享做一个收尾,这一个系列的分享,正好也是对应之....
    发表于 01-14 12:41 136次 阅读
    OneNET分享完结篇 | 让你的设备连接上OneNET平台

    显示屏基础通信实验

    实验内容实现串口屏收发实验要求能成功编译例程代码,并下载运行效果与实验目的相同能解决调试过程中遇到的....
    发表于 01-14 10:56 32次 阅读
    显示屏基础通信实验

    STM32中断实现点灯及串口通信

    一、STM32CUBEMX生成中断点灯代码先打开STM32CUBEMX,新建工程,选择芯片型号,我这....
    发表于 01-14 10:46 68次 阅读
    STM32中断实现点灯及串口通信

    STM32F103中断串口通信USART

    本文基于笔者之前的博客STM32F103串口通信USART小试牛刀,在此基础上,加上中断函数,并补充....
    发表于 01-14 10:39 168次 阅读
    STM32F103中断串口通信USART

    趣聊51之串口通信(概念篇)

    对于刚刚接触单片机的同学们来说,串口通信似乎是一个神秘感十足的东西,笔者在刚刚开始学习51单片机时,....
    发表于 01-14 10:36 32次 阅读
    趣聊51之串口通信(概念篇)

    串口通信小试牛刀

    一、二、STM32的USART串口通信1.USART介绍通用同步异步收发器(USART)提供了一种灵....
    发表于 01-14 10:34 51次 阅读
    串口通信小试牛刀

    两台PC实现串口通信以及点阵字模读写

    一、pc串口通信1.连线设置注意将一个串口的TXD连接另一个串口的RXD,接电源和接地连一起即可。2....
    发表于 01-14 10:27 68次 阅读
    两台PC实现串口通信以及点阵字模读写

    PC实现串口通信以及点阵字模读写

    一、串口通信1、杜邦线连接2、打开调试助手3、选择图片4、参数设置5、发送文件6、结果分析因为传输时....
    发表于 01-14 10:20 52次 阅读
    PC实现串口通信以及点阵字模读写

    PC端串口通信&点阵字模读写

    目录一、PC端串口通信1.目的2.准备工具3.操作二、点阵字模读写1.目的2.动手2.1创建文本文件....
    发表于 01-14 10:15 51次 阅读
    PC端串口通信&点阵字模读写

    基于51+LCD1602的温湿度采集

    一.温湿度传感器介绍1.主要参数供电电压:3.3 - 5.5V直流电输出为单总线数字信号温度测量范围....
    发表于 01-14 09:57 58次 阅读
    基于51+LCD1602的温湿度采集

    Arduino——驱动LCD1602A

    Demo_01、显示温湿度数据注意 :根据我的代码注释进行接线,如果还有不懂的就查看lcd的使用手册....
    发表于 01-14 09:45 67次 阅读
    Arduino——驱动LCD1602A

    LCD1602功能函数

    //仅供参考,调用到主函数需自己添加.h头文件,设置外部可调用。//有不懂可以评论或私信#inclu....
    发表于 01-13 16:45 60次 阅读
    LCD1602功能函数

    关于LCD1602单独清除某一行的问题

    关于LCD1602单独清除某一行的问题在大学期间由于翻看了几篇垃圾博客说什么LCD1602的显示不能....
    发表于 01-13 16:35 69次 阅读
    关于LCD1602单独清除某一行的问题

    GPIO的几种配置模式

    GPIO的几种配置模式1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一....
    发表于 01-13 16:25 30次 阅读
    GPIO的几种配置模式

    低通、高通数字滤波器——C语言单片机实现

    低通、高通数字滤波器——C语言单片机实现一阶滤波器高阶滤波器博主刚好进入研二,研究的方向刚好涉及到数....
    发表于 01-13 15:00 99次 阅读
    低通、高通数字滤波器——C语言单片机实现

    【嵌入式】STM32F103寄存器方式点亮LED流水灯

    目录一、实验题目二、工程文件的建立三、点亮LED灯(软件部分)四、点亮LED灯(实操部分)五、实验总....
    发表于 01-13 14:56 104次 阅读
    【嵌入式】STM32F103寄存器方式点亮LED流水灯

    一些单片机学习的收获存档1

    关于位运算简化代码的思路(138译码器为例子)原始代码:void DigDisplay(){ ....
    发表于 01-13 14:08 36次 阅读
    一些单片机学习的收获存档1