嵌入式软件应用程序是在非PC设备中进行专门编程的,可以作为微芯片的一部分,也可以作为芯片顶部的另一个应用程序的一部分,以控制设备的特定功能。与PC应用程序不同,PC应用程序可以安装在各种计算机系统上并进行修改以提供不同级别的功能,而嵌入式软件具有固定的硬件要求和功能。它是专门为运行它的特定设备创建的,处理和内存限制与其规格直接相关。在本讨论的背景下,嵌入式软件包括应用程序、固件、中间件和操作系统,它们在单个微处理器或微处理器集群上执行,这些微处理器或微处理器集群“嵌入”在附加逻辑中。
嵌入式软件是一种专用应用程序或固件,在嵌入到 SoC 或 IC 中的处理集群上运行。几乎任何电子产品都可以包含一个或多个嵌入式处理器,这在当今的汽车、车间自动化、航空电子设备、医疗器械等中很常见。
嵌入式软件应用程序是在非PC设备中进行专门编程的,可以作为微芯片的一部分,也可以作为芯片顶部的另一个应用程序的一部分,以控制设备的特定功能。与PC应用程序不同,PC应用程序可以安装在各种计算机系统上并进行修改以提供不同级别的功能,而嵌入式软件具有固定的硬件要求和功能。它是专门为运行它的特定设备创建的,处理和内存限制与其规格直接相关。在本讨论的背景下,嵌入式软件包括应用程序、固件、中间件和操作系统,它们在单个微处理器或微处理器集群上执行,这些微处理器或微处理器集群“嵌入”在附加逻辑中。
尽管嵌入式系统有很多种类型,但它们都具有相同的有益功能和设计特征。
它们在其整个使用寿命期间执行相同的预编程功能,并且无法更改。
嵌入式软件的资源要求不应超过安装它的硬件的容量,硬件的规格也不应超过嵌入式软件的最低要求。
所有嵌入式系统都设计为高度可靠和稳定。它们必须在容纳它们的设备的整个生命周期内以一致的响应时间和功能执行任务。
西门子提供汽车嵌入式软件和嵌入式软件工程解决方案。随着 Sokol、Nucleus 和 Multicore 软件产品的退役,西门子已停止为 SoC 提供独立的嵌入式软件。
运行嵌入式软件的设备中的硬件组件称为“嵌入式系统”。嵌入式系统中使用的硬件组件的一些示例包括电源电路、中央处理器、闪存设备、定时器和串行通信端口。在设备的早期设计阶段,决定了构成嵌入式系统的硬件及其在设备中的配置。然后,从头开始开发嵌入式软件,以精确配置在该硬件上专门运行。这使得嵌入式软件设计成为一个需要深入了解硬件功能和计算机编程的专业领域。
几乎每个带有电路板和计算机芯片的设备都将这些组件排列到嵌入式软件系统中。因此,嵌入式软件系统在日常生活中无处不在,遍布消费、工业、汽车、航空航天、医疗、商业、电信和军事技术。
基于嵌入式软件的功能的常见示例包括:
根据性能和功能要求,嵌入式系统主要分为五类:
嵌入式系统要求和组件将根据目标市场的需求而有所不同。一些例子包括:
在汽车电子中,复杂的实时交互发生在多个嵌入式系统中,每个系统都具有制动、转向、悬架、动力总成等控制功能。包含每个嵌入式系统的物理外壳称为电子控制单元 (ECU)。每个ECU及其嵌入式软件都是称为分布式系统的复杂电气架构的一部分。
通过相互通信,构成车辆分布式系统的ECU可以执行各种功能,例如自动紧急制动、自适应巡航控制、稳定性控制、自适应大灯等等。单个功能可能需要跨 20 个或更多嵌入式软件应用程序进行交互,这些应用程序分布在通过多个网络协议连接的众多 ECU 中。与嵌入式软件一起部署的复杂控制算法确保了功能的正确时序、所需的输入和输出以及数据安全。
基于汽车软件应用的功能的常见示例包括:
电子控制单元或ECU由一个带有芯片级硬件的主计算单元和一堆嵌入式软件组成。然而,汽车制造商越来越倾向于设计具有复杂集成电路的 ECU,这些集成电路在单个芯片上包含多个计算内核,即所谓的片上系统 (SoC)。这些 SoC 可以托管大量 ECU 抽象,以整合硬件。ECU的软件堆栈通常包括一系列解决方案,从低级固件到高级嵌入式软件应用。
ECU堆栈 | 描述 |
嵌入式软件应用 | 控制算法、处理、服务 |
应用框架 | 安保和安全框架 |
操作环境 | AUTOSAR classic、AUTOSAR 自适应、输入/输出通道 |
嵌入式虚拟化 | 实时操作系统、ECU抽象 |
固件 | 引导加载程序、安全存储、安全线程 |
硬件 | 硅基器件、微控制器、单层或多层板 |