Skip to main content
本节介绍 RTSS 的硬件和软件架构框图。
RTSS 硬件架构
下图显示了 RTSS 架构,突出其关键功能单元及其连接。该架构支持强大的实时性能、安全启动、故障监控和灵活的网络功能。
rtss_hardware_architecture.png
RTSS 硬件架构

RTSS 软件架构


下图显示了一个为安全关键型和传感器驱动型应用设计的模块化嵌入式系统架构。
rtss_software_architecture.png
RTSS 软件架构 以下是关键组件: 电源管理集成电路(PMIC) PMIC 对设备的各个组件(如 CPU 和内存)进行电源调节和分配。PMIC 驱动执行以下操作:
  • 电压调节,确保每个组件获得正确的工作电压。
  • 电源时序控制,控制设备中各个组件上电或断电的顺序,确保无缝运行。
孤岛状态检测器(ISD) ISD 执行以下操作:
  • 在以下阶段将 RTSS 移入孤岛(Island)状态:
    • 芯片冷启动
    • RTSS 低功耗模式
    • APSS 和 RTSS 崩溃/故障
  • 在冷启动和故障情况下检测错误并启动孤岛状态。
  • 处理来自 APSS 的复位请求。
  • 将可能需要 SoC 复位或进入紧急下载(EDL)模式的关键 RTSS 错误通知给 APSS。
进程间通信控制器(IPCC) IPCC 执行以下操作:
  • 使用以中断形式传递的信号进行进程间通信。
  • 采用星型拓扑,每个协议每个内核只需要一根中断请求(IRQ)输入线。
  • 充当在 SoC 级别管理 IPC 中断的集中式模块。
  • 使用消息队列、共享内存、信号和信号量实现多个处理器之间的通信和同步。
串行外设接口 NOR(SPINOR)闪存 系统包含一个 SPINOR 控制器,由异常级别 1(EL1)和异常级别 2(EL2)的所有用户共享。 EL1 SPINOR 驱动:
  • 使用陷阱系统调用与 EL2 驱动通信。
  • 处理 EL1 与 EL2 之间的上下文切换和数据共享,并向客户端应用程序屏蔽这些细节。
EL2 SPINOR 驱动:
  • 拥有对 SPINOR 硬件的特权访问。
  • 管理来自 EL1 和 EL2 的所有客户端请求。
  • 协调操作并确保各执行级别之间的安全访问控制。
串行外设接口(SPI) SPI 具有用于数据通信的 4 线同步串行接口。数据通信通过以下方式实现:片选(CS)线,控制器数据输出和目标数据输入用于串行数据输出,控制器数据输入和目标数据输出用于串行数据输入,串行时钟(CLOCK)同步数据传输。SPI 用于连接 CAN 收发器。 通用异步收发器(UART) UART 驱动支持 RTSS 与调试端口以及 VIP SoC 之间的通信。它使用 RTSS QUP 硬件,该硬件以直接内存访问(DMA)模式运行,并且只能访问 QUP RAM。因此,所有 UART 缓冲区都必须在 QUP RAM 中分配。 内部集成电路(I2C) I2C 协议支持通过共享总线进行控制器-目标通信。I2C 控制器发起数据传输,以从连接的目标设备读取数据或向其写入数据。PMIC 驱动使用 I2C 驱动与 I2C 总线上的目标设备通信。PMIC 客户端充当控制器,使用 I2C 接口与外部目标交互。 通用定时器(GPT) GPT 驱动提供用于启动和停止硬件定时器、获取定时器值、控制时间触发的中断通知,以及在硬件支持的情况下控制时间触发的唤醒中断的服务和配置参数。每个定时器通道的滴答周期取决于其具体配置、系统时钟和时钟树设置。 通用输入/输出(GPIO) TLMM 驱动提供用于配置 GPIO、读取输入/输出值以及向 GPIO 写入输出值的接口。GPIO 可配置为输入/输出或特殊功能 GPIO。TLMM 驱动还支持从 GPIO 接收中断。中断可以按电平触发、上升沿、下降沿或双沿触发方式生成。 通用中断控制器(GIC) GIC 接收来自系统源(如总线异常)以及来自专用 CPU 外设(如定时器和电源控制单元)的中断。所有中断都通过 SPI 和 PPI 输入信号路由到 GIC 顶层。然后,中断通过内部 GIC CPU 接口使用 irq_n 和 fiq_n 信号传递给 CPU 内核。 虚拟机监控程序调用(HVC) 当 EL1 需要在 EL2 中执行特权操作时使用 HVC 调用。由于 EL1 无法访问为 EL2 保留的系统寄存器或内存区域,HVC 调用在 EL1 与 EL2 之间进行通信以执行特权任务。

后续步骤