作者:富连达发布日期:2023-07-20浏览人数:380
嵌入式系统介绍
对于嵌入式初学者或者是专门做嵌入式软件开发工程师职位的猎头来说,刚入手的时候可能会对嵌入式一头雾水,网上的介绍也不够系统,专业术语又太多,下面我就给大家来理一理嵌入式软件工程师的前生今世,帮助大家更好了解嵌入式行业。
一、嵌入式定义
嵌入式系统是一种专用的计算机系统,,用于控制、监视或者辅助操作机器和设备的装置。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。
嵌入式是硬件和软件的综合体,国内对嵌入式软件工程师的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
嵌入式设计是企业电子产品设计的重要组成,目前国内外中小型企业内部都建立了自己的嵌入式开发团队。
团队所需的人员职位构成包括:(1)系统设计工程师 (2)硬件工程师 (3)底层驱动工程师(4)Linux系统工程师 (5)应用设计工程师等。
二、嵌入式详细介绍
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,
嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、驱动层(中间层)、系统软件层和应用软件层组成。下面的介绍也将紧紧围绕着这四个层次展开说明。
执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。
下面金字塔中出现的中间件比较少见,它不是嵌入式系统的必须,一般指的是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。专门做中间件的嵌入式软件工程师也比较少见。
嵌入式芯片
嵌入式系统层次
中间件
受控器件:
1.消费电子:mp3、手机、电梯、汽车...
2.智能家电:数字电视、微波炉、数码相机、空调...
3.网络设备:交换机、路由器...
4.医疗仪器:..各种医疗器械...
5.航天设备:卫星、航天飞机、月球探测仪...
6.工业控制:控制主机,智能监控...
7.汽车电子:车联网
8.安防监控:交通监控
计算机系统:包括硬件和软件系统、且软、硬件均可裁剪,但必须有最小系统要求。
三、职位区分
(一)硬件层次
硬件工程师
开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等
相关专业:电子工程、通信工程
(二)软件层次
底层的驱动内核工程师(嵌入式驱动工程师)
根据芯片具体情况把操作系统(如Linux)移植到上面,同时编写必要的驱动程序,改写相应的内核代码
嵌入式应用程序工程师类:
Linux嵌入式开发工程师:
要求:精通Linux系统、Shell编程、Linux开发环境、C语言、ARM硬件平台、数据结构、Linux内核、驱动程序等
(三)综合
嵌入式系统设计工程师
(四)职业发展路径
嵌入式软件开发工程师——嵌入式系统开发工程师/嵌入式系统工程师——产品研发经理/IT项目经理
四、硬件层次
嵌入式芯片
(一)嵌入式芯片
首先来说说硬件层次,嵌入式系统(系统层次)搭建的基础是嵌入式芯片,不同的嵌入式芯片也往往决定了硬件的性能,能搭建什么样的嵌入式系统以及能实现什么样的功能。
嵌入式芯片:包括了SOC,FPGA,CPLD
SOC:Systems on Chips系统级芯片(顾名思义,能够跑操作系统的)
MCU:Microcontroller Unit单片机(包括了CPU,ROM,RAM,外接设备(外设)的输入输出接口)
MPU:Microprocessor Unit微处理器
CPU:Central Processing Unit中央处理器
SOC放到下一节讲
CPLD
CPLD(Complex Program ** ble Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
FPGA
FPGA(Field-Program ** ble
Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA和CPLD都是可编程逻辑器件芯片,用于电路设计,特点是使用灵活,通常是为了满足客户定制化而又小批量的需求。
(二)SOC系统级芯片
SoC的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。SOC是我们介绍的重点。一般说来,SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。
对于手机行业来说,手机soc通常集成了很多手机上最关键的部件,比如CPU、GPU、内存、也就说虽然它在主板上的存在是一个芯片,但是它里边可是由很多部件封装组成的。比如通常我们所说的高通801,Tegra 4,A6等等都只是系统部件打包封装(SoC)后的总称。然而各家的打包封装的内容则不尽相同,原因也不尽相同。
比如高通的SoC集成度往往是较高的,有AP/CPU(Krait),GPU(Adreno),RAM(运行内存),Modem(通信模块),ISP(图像处理),DSP(数字信号处理),Codec(编码器)等等等等。
对于除手机之外的嵌入式来说,我们简单理解为集成了各种芯片的集成电路即可。
(三)MCUMicrocontroller Unit单片机
MCU属于SOC中的一部分,单片机可理解为跑程序的微型电脑,麻雀虽小五脏俱全,所写的代码相当于程序。它集成了内处理器(CPU)、存储器(RAM、ROM)、计数器、以及I/O端口为一体的一块集成芯片。在此硬件电路基础上,将要处理的数据、计算方法、步骤、操作命令编制成程序,存放于MCU内部或外部存储器中,MCU在运行时能自动地、连续地从存储器中取出并执行。
MCU微控制单元(MicrocontrollerUnit)单片机
(四)MPU微处理器
根据处理对象的不同分类:
l用作处理通用数据时,叫作中央处理器(Central Processing Unit, CPU)这也是最为人所知的应用(如:Intel Pentium CPU);
l专用于作图像数据处理的,叫作图形处理器(Graphics Processing Unit, GPU)(如Nvidia GeForce 6150 GPU);
l用于音频数据处理的,叫作音频处理器(Audio Processing Unit, APU)(如Creative emu10k1 APU)等等
l专门用于数字信号处理的叫做数字信号处理器(Digital Signal Processing,DSP),如知名的SHARC
这里对DSP做一些补充说明
DSP数字信号处理器:如SHARC(在DSP领域占据主导地位)
lSHARC:32位浮点数字信号处理器(即DSP)SHARC是美国ADI公司推出的32位浮点数字信号处理器(即DSP)系列产品的名字。
l特点:
在浮点DSP市场占据主导地位,拥有出色的内核和存储器性能,以及优异的I/O吞吐能力
l主要应用领域:
<p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px; padding: 0px; font-size: 13px; color: rgb(102, 102, 102); font-family: "Open Sans", "Microsoft YaHei", sans-serif; line-height: 24px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); vertical-align: baseline; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-a上一篇:嵌入式系统趋势与技术