目录
简介
内存占用
电源
实时行为
1.1 确定性
简介
嵌入式系统可以定义为运行特定任务的软件的一部分计算机硬件。这与通常被认为的计算机系统形成对比,即运行广泛的通用软件并执行多个任务的系统。
嵌入式系统通常应用于消费、工业、汽车、医疗、商业和军事领域,控制的系统级芯片(SoC)专为单一目的设计,范围从数字手表到交通信号灯,以及更大、更复杂的系统。飞机中包含先进的航空电子设备,如惯性导航系统和GPS接收器,这些系统具有相当的安全要求。汽车安全系统包括防抱死制动系统(ABS)、电子稳定控制系统(ESC/ESP)、牵引力控制系统(TCS)和自动四轮驱动。
在处理安全问题时,嵌入式系统也可以是自给自足的,并且能够应对电力和通信系统的故障。其复杂性可以从单核设备到多个单元、外围设备和网络不等。
嵌入式系统有许多限制,使得编程它们比为通用PC编写应用程序更具挑战性。
内存占用
在许多系统中,为了降低成本和功耗,内存大小受到限制。这迫使你在编写程序时考虑其大小,以及如何在运行时减少内存使用。
电源
在许多嵌入式系统中,电源来自电池。程序员和硬件设计师必须非常谨慎,以最大限度地减少系统的总能耗。
实时行为
某些系统的一个特征是它们对外部事件有时间限制的响应要求。这可能是硬性要求,也可能是软性要求。硬性要求的一个例子是汽车制动系统,因为它必须在一定的时间内始终如一地做出响应。软性要求的一个例子是音频处理系统,因为它必须在一定时间内完成。ARM 实时 ® 配置文件定义了一种针对需要确定性时间和低中断延迟的系统的架构。
当一个系统的操作正确性不仅取决于逻辑正确性,还取决于执行时间时,该系统被称为实时系统。实时系统及其截止时间根据错过截止时间的后果进行分类:
硬实时:错过截止时间意味着整个系统的失败。
固实时:偶尔错过截止时间是可以接受的,但会降低系统的服务质量。结果在截止时间之后的有效性为零。
软实时:结果的有效性在截止时间之后会降低,从而降低系统的服务质量。
硬实时系统的目标是确保所有截止时间都能被满足,而软实时系统的目标是满足某个特定子集的截止时间,以优化应用程序的特定标准。特定的截止时间子集取决于应用程序,但一些典型的例子可能包括最小化任务的延迟和最大化高优先级任务在截止时间内完成的数量。
硬实时系统用于必须在严格的截止时间内做出反应的场合。这类系统要求在某个时间间隔内不做出反应会导致巨大的损失,特别是对周围环境造成物理损害或威胁人类生命,尽管严格的定义是错过截止时间即意味着系统的失败。例如,汽车发动机控制系统是一个硬实时系统,因为任何信号的延迟都可能导致发动机故障或损坏。其他例子包括心脏起搏器等医疗系统和工业过程控制器。硬实时系统通常在嵌入式系统中与物理硬件进行低级别的交互。
Cortex-R 系列核心旨在用于深度嵌入的实时系统,提供在需要高性能计算解决方案的地方实现高可靠性、高可用性、容错性、可维护性和实时响应。这要求优化核心性能,同时确保时间关键代码能及时执行。Cortex-R 系列处理器包含提高关键代码确定性的特性。
对于需要高性能和高可靠性的嵌入式应用,Cortex-R 系列核心还提供了几个有用的功能,包括软硬错误管理、使用两个核心同步工作的冗余双核心系统以及所有外部总线上的错误纠正代码 (ECC)。
ARM Cortex-R4 处理器 是用于深度嵌入系统的中档实时处理器。
ARM Cortex-R4F 处理器 是带有浮点单元 (FPU) 的 Cortex-R4 处理器。
ARM Cortex-R5 处理器 是用于嵌入式系统的高性能实时处理器。
ARM Cortex-R5F 处理器 是带有浮点单元 (FPU) 的 Cortex-R5 处理器。
ARM Cortex-R7 MPCore 处理器是一种高性能实时多核处理器,广泛应用于各种深度嵌入式应用中。
Cortex-R 系列处理器与 Cortex-M 和 Cortex-A 系列处理器不同。Cortex-R 系列处理器通常提供更高的性能,并且可以以更高的时钟速度运行,而 Cortex-A 系列则用于用户界面的应用程序,并配备复杂的软件操作系统和虚拟内存管理功能。
ARM 合作伙伴已经开发了使用 Cortex-R4 处理器的设备系列,这些设备具有不同的功能集和性能水平,应用范围从 3G USB 调制解调器棒到德州仪器(Texas Instruments)提供的 TMS570 等汽车微控制器。英飞凌(Infineon)也有基于 Cortex-R4 处理器的医疗设备平台 MD8710。在所有这些情况下,这些设备都依赖于 Cortex-R4 处理器的特定功能,即高计算性能、可配置功能(如软错误处理)以及在嵌入式系统中对硬实时事件的确定性响应能力。
硬盘驱动器(HDD)也是对嵌入式处理器要求最高的应用之一,Cortex-R 系列已被许多主要制造商采用。对于 HDD 和 SSD 大容量存储系统,Cortex-R 系列处理器在处理器性能、可靠性和实时响应之间提供了平衡,同时还具备易于开发和 CoreSight® 调试功能,以支持当前和未来的系统芯片架构。Cortex-R 系列处理器还被广泛用于固态硬盘(SSD),在这些应用中,对主机接口和 NAND 设备的性能和实时响应是系统性能的关键。
移动手持设备正在引入高数据速率无线宽带,为用户提供丰富的音频、视频和互联网服务。先进的多核 SoC 使用 Cortex-R 系列处理器来执行这些任务,从而补充 Cortex-A 系列处理器在用户应用方面的功能。低成本和低功耗继续是移动手持设备产品成功的关键标准。Cortex-R 系列处理器的实时功能特别适合于高级移动基带应用,包括支持高频中断以及快速和确定性地控制蜂窝基站与移动设备之间的数据传输。
1.1 确定性
深度嵌入式实时系统要求优化处理器性能,同时确保时间关键性代码能够及时执行。Cortex-R 处理器包含一些功能,以提高处理器对关键代码的可预测性(确定性)。Cortex-R 处理器的内存子系统使用紧密耦合内存(TCM),这种内存位于处理器核心附近,这意味着核心可以立即访问内存,而无需等待外部内存。这部分内容在第8章“紧密耦合内存”中有所描述。
Cortex-R5 和 Cortex-R7 处理器包含专门的端口,以便访问时间关键性外设。专用端口的存在意味着访问这些外设时不会与内存子系统其余部分的低优先级内存访问发生竞争。这部分内容在第8章的“外设访问”中有所描述。
Cortex-R 处理器还包含一些提供确定性计时和低中断延迟的功能,适用于硬实时应用程序。这些功能统称为低延迟中断功能。这部分内容在第11章的“低延迟中断”中有所描述。
Cortex-R7 处理器采用乱序流水线,与 Cortex-R4 和 Cortex-R5 处理器的顺序流水线不同。这意味着 Cortex-R7 处理器比 Cortex-R4 和 Cortex-R5 处理器更优化于性能。Cortex-R7 处理器还包括一些功能,帮助优先处理更关键的代码。这些功能被称为服务质量(QoS)功能,这部分内容在第8章的“服务质量”中有所描述。