嵌入式软件工程师是干啥的?

article/2025/8/20 21:41:35

文章目录

前言

一、啥是软件?

二、什么是嵌入式软件

三、嵌入式软件如何开发

三、嵌入式软件工程师知识技能

编程语言知识:

自动控制知识:

硬件基础知识:

开发工具使用:

软件架构设计:

软件开发流程:

英语阅读能力:

产品相关知识:

总结


前言

当今社会已经进入知识大爆发的年代,各种智能化设备层出不穷,软件开发成为当前最受追捧的技术,因此我们首先从了解嵌入式软件工程师开始吧!

一、啥是软件?

互联网这个风口持续已经很多了年了,网络上到处都有高薪招聘搞软件的程序员需求。但是软件到底是个啥呢?百度百科对软件的定义是:能够在运行时提供所要求功能和性能的指令或计算机程序集合,程序能够满意地处理信息的数据结构,以及描述程序功能需求以及程序如何操作和使用所要求的文档。简而言之,软件就是程序加文档。在我们日常生活中软件随处可见,计算机,家用电器,电子设备等等都包含有运行的程序。

二、什么是嵌入式软件

在计算机里面都有Windows操作系统,然后再安装各种各样的应用软件,那么我们在生活中随处可见从电子设备产品就不可能把计算机的操作系统安装进去,但是又要实现各种复制的计算和控制,怎么办呢?因此,就需要给它设计一套小小的可以嵌在里面的脑系统,这个大脑有多聪明,就要看它的软件了。这个嵌在里面的脑系统就是一个嵌入式计算机系统,那么我们可以这样定义:隐藏在一些更大的系统中,管理控制这些系统,并带有微处理器的专用软硬件系统称为嵌入式计算机系统,通常称为嵌入式系统。嵌入式系统是运行在嵌入式芯片中的,很多人学习嵌入式软件都是从51单片机开始,流水灯基本是每一个嵌入式软件工程师的第一堂必修课,这几年随着芯片技术的发展,很多学校都已经从STM32开始教学了,玩的也都是更高级的机器人、无人机之类的了。

三、嵌入式软件如何开发

嵌入式软件也是由程序员开发的,网上到处都是各种互联网公司的程序猿和程序媛的介绍,甚至看多了各种科幻电影,大家对程序员的印象是这样的:

图片来源网络,侵删

要么是这样的:

图片来源网络,侵删

实际上搞嵌入式软件开发的程序员,我们也叫嵌入式软件工程师,根据其岗位特性,基本上以产品为中心,按照开发流程开展工作,根据不同公司的岗位设计,嵌入式软件工程师也会有不同的细分工作内容。一般相对规范的公司,嵌入式软件开发都会按照目前行业内成熟的V流程模式进行开发:

三、嵌入式软件工程师知识技能

前面介绍了嵌入式软件和相应的开发流程,那么成为一名嵌入式软件工程师需要什么技能要求呢?话说隔行如隔山,各行各业都有个中的特点,但是万变不离其宗,任何一项工作的开展都是个人基础技能和相关能力的综合表现。从我个人的经验来说,对于嵌入式软件工程师技能要求可以参考下面的维度模型:

  • 编程语言知识:

嵌入式软件主要以C语言为主,因此需要具备一定C语言编程能力,相信很多人在大学里都学过谭浩强的《C 程序设计》;

  • 自动控制知识:

嵌入式软件是运行在嵌入式芯片中,主要目的是为了实现对各种信号的采集,通过相关的软件算法,最终达到对外围设备控制的目的。因此,需要具备一定的自动控制原理基础知识,了解常用的控制方式和控制策略;

  • 硬件基础知识:

嵌入式软件最终目的是为了实现对硬件和外围设备的控制,嵌入式软件工程师就需要具备相应的硬件   基础知识,能够看懂硬件图纸,了解基础的元器件工作原理,熟悉STM、NXP、英飞凌、瑞萨等单片 机知识;

  • 开发工具使用:

嵌入式软件工程师需要能够使用软件开发IDE进行程序的编写和调试,然后在硬件上验证软件功能是  否符合设计要求,这是一个软硬件结合的过程。因此,软件开发时需要根据选用的芯片平台,能够熟练使用如Keil、CodeWarrior、IAR、Tasking等IDE;软件调试时需要用电示波器、万用表等硬件测试工具;软件测试时需要用到QAC、Tessy等相应的静态和动态测试软件工具;为保证软件开发的追溯和过程管控,就需要用到SVN和Git等版本管控工具。此外,随着技术的发展,目前很多应用算法类的嵌入式软件都已经使用基于模型的开发方法,就需要熟悉Matlab和Simulink相关软件的使用;

  • 软件架构设计:

嵌入式软件虽然没有Windows这么高深,但是其实现的功能也是非常复杂的,因此,在嵌入式软件开发时也需要对软件架构进行设计,确保运行的效率,在一些复杂的产品还需要用到嵌入式操作系统,常见的如Ucos、FreeRTOS等,在汽车行业则需要用到行业内通用的AutoSAR;

  • 软件开发流程:

 为了保证嵌入式软件的可靠性,如前面介绍一般采用V流程开发模式,嵌入式软件工程师需要熟悉相应的开发流程,掌握每一个环节需要开展的工作内容和相应的输出交付,确保最终释放的软件不存在BUG;

  • 英语阅读能力:

在当今社会英语是每一个工程师的基础技能,前面介绍的所有技能要求的大部分资料可能都是英文,而中文经过5000年的发展,含义是博大精深,有时候你虽然看到有一些中文翻译资料,本来想偷个懒取个巧,最后却被带沟里了,因此建议还是老老实实去阅读原版英文资料;

  • 产品相关知识:

如果你已经具备了前面介绍的这些技能,那么恭喜你已经知道如何去开发嵌入式软件了。但是,八仙过海各显神通,都还是需要落实到对应的产品去,需要把你具备的技能和产品功能的需求相结合,开发出产品使用的嵌入式软件。


总结

日常生活中,大家看到很多电子设备,一眼看起来都很简单,但里面都运行了复杂的嵌入式软件。来吧,欢迎你成为一名嵌入式软件工程师,后面我们也会详细介绍相关的知识,让我们一起去探索嵌入式软件的神奇宇宙!

想获取更多及时资讯,可以关注我的微信公众号,第一时间收到文章推送!

免责声明:本文素材部分来源于网络,版权归原作者所有,如有涉及侵权,请与我联系删除


http://chatgpt.dhexx.cn/article/H9XUlKTD.shtml

相关文章

医药行业集团集采管理平台深化招投标管理,提升企业采购管理水平

新形势下,中国医药行业正面临着新一轮重大转变,国内的政策环境,产业结构和病患需求都在发生快速变化,加速推动医药行业数字化转型已经成为大势所趋,企业的数字化战略需要迎面解决转型性变化和应对被更多敏锐竞争对手超…

SSM医药销售管理系统毕业设计源码042322

SSM医药销售管理系统 摘要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采SSM技术和mysql数据库来完成对系统的…

基于ssm医药药品管理系统

开发工具eclipse,jdk1.8 数据库mysql5.7,tomcat8 技术:springmvcspringmybatis(ssm) 主要功能如下: ①登录系统:管理员需要输入正确的用户名和密码来登录系统,从而完成各类信息的管理工作; ②信息查询…

云时代下,医药行业管理居然这么简单

摘要:为了持续打造核心竞争力,英克康健联合华为云,基于云数据库RDS for PostgreSQL全新打造了一个高性能、大容量、高可用的SaaS医药管理系统,助力万千药企业务迈上新台阶。 本文分享自华为云社区《云时代下,医药行业管…

SSM医院医药药品管理系统

《SSM医院医药药品管理系统》该项目采用的技术实现如下:jspssm框架(springspringMVCmybaits)Mysql数据库Tomcat服务器 实现了最基本的医药药品管理功能,其中客户即病人与经办人即医生和药品产生联系,即每一个顾客都有…

医药管理信息系统(javaWeb)

信息需求 顾客:对于顾客需要知道他的编号、姓名、电话号码、经办人、录入日期以及已购药品; 经办人:对于经办人需要知道他的编号、姓名、电话号码; 药品:对于药品需要知道它的编号、名称、数量、功效; 查…

医药系统

3.1、设计任务与目标 3.1.1 分析论证:设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。 3.1.2目的意义:在本设计中,首先从数据文件中读出各药品的信息记录&a…

什么是医疗健康管理系统?

健康管理系统是通过物联网、云计算等技术为基础,省时省力,开源节流,在工作中大量就医繁琐程序。通过医疗健康管理系统,就可以省去之间繁琐的程序。随着药品监督制度的完善,国家药监部门针对各医药零售企业推出了严格的…

医药进销存管理系统

医药进销存管理系统 分析部分 药品基本情况表:药品编号,药品条码,药品名称,通用码,拼音码,单位,规格码,剂型,产地,包装数量,有效期,质量标准,经营方式,批号,零售价格,进货价格,批发价格,药品类别,医疗编号客户基本情况表:客户编号,客户名称,拼音码,客户地址,所属地区,邮政编码…

(附源码)ssm医药销售管理系统 毕业设计 042322

SSM医药销售管理系统 摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采SSM技术和mysql数据库来完成对系统的…

医院药品管理系统开源项目-04 【药品管理】

一、创建药品数据 大致上和之前供货商一样,CtrlC复制粘贴修改 1.1 创建pojo实体类 package com.dh.pojo;import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotat…

数据库设计——医药销售管理系统

开发环境和开发工具 操作系统:win8.1 开发环境:Mysql、Web 开发工具:Workbench、Eclipse、JDBC 功能需求分析 员工有权查看、添加会员,查看、添加供应商,查询药品(输入药品编号或名称、类别等查询该药…

医院管理系统/医院药品管理系统

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…

基于SSM实现的医院医药药品管理系统-JAVA【毕业设计定制、快速开发、源码、开题报告】

功能介绍 登录系统:管理员需要输入正确的用户名和密码来登录系统,从而完成各类信息的管理工作; 信息查询:查询客户信息、查询经办人信息、查询药品信息; 信息录入:录入顾客信息、录入经办人信息、录入药…

ec java sm2证书_国密算法SM2证书制作

前段时间将系统的RSA算法全部升级为SM2国密算法,密码机和UKey硬件设备大都同时支持RSA和SM2算法,只是应用系统的加解密签名验证需要修改,这个更改底层调用的加密动态库来,原来RSA用的对称加密算法DES(AES)和摘要MD5(SHA1)也相应改…

SM2椭圆曲线

文章目录 题目环境方案设计背景原理算法步骤 方案实现流程图加密解密 主要函数C代码测试数据结果 注意问题 说明 题目 实现SM2椭圆曲线公钥密码算法,对给出的英文消息进行加密得到密文,并能通过密文解密出明文。 环境 Windows10,MinGW-W64…

JAVA集成国密SM2

JAVA集成国密SM2加解密 一、pom配置二、代码集成2.1、目录结构2.2、源码2.3、测试 三、相关链接 国密算法概述:https://blog.csdn.net/qq_38254635/article/details/131801527 SM2椭圆曲线公钥密码算法 为非对称加密,基于ECC。该算法已公开。由于该算法…

Java SM2

pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http…

ECCSM2

ECC&SM2 ECC 基本内容 概念 ECC 全称为椭圆曲线加密&#xff0c;EllipseCurve Cryptography&#xff0c;是一种基于椭圆曲线数学的公钥密码。与传统的基于大质数因子分解困难性的加密方法(RSA)不同&#xff0c;ECC 依赖于解决椭圆曲线离散对数问题的困难性。它的优势主要…

C# SM2

Cipher using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Crypto.Digests; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Math; using Org.BouncyCastle.Math.EC;namespace SM2Test {/// <summary>/// 密码计算/// </summary>public…