链接是一个所有权和访问权限的独特集合,由 ID 标记,用于资源分配和共享。链接 ID 绑定 CPU 资源,例如栈、存储器区域、外设实例访问、中断源和向量、DMA 通道和权限等。这可防止从另一个链接运行的黑客(或错误代码)访问资源。本章特别关注由链接提供的到特定中断源和向量的访问。
下面提供了用于中断操作的链接类型。
- 所有者链接:每个中断线路和关联的中断向量都有一个所有者链接。
- 此链接具有源事件的相关资源,例如外设、GPIO 或错误机制。
- 所有者链接可以访问为特定事件提供服务所需的存储器、DMA 或其他资源。
- 所有者链接具有对控制和状态寄存器的访问权限(读取标志、启用/禁用中断线路、清除标志或强制标志为高电平),并且还具有读取和清除溢出标志的权限。
- 将 CPU 提供的当前链接 ID 与中断操作寄存器的所有者链接进行比较。
- 引导链接:引导链接处理器件引导和初始化,包括中断。
- 用户引导链接:用户引导链接没有访问 PIPE 或中断寄存器的特殊权限。
- 安全根链接:这是器件安全代码的信任根,应可访问 PIPE 配置寄存器和向量表。配置寄存器会保存信息,例如中断线路的所有者链接、调用者链接、优先级、向量地址。
- 调用者链接:调用者链接用于跨多个链接共享通用代码库。
- 中断线路(如 RTINTn)的所有者链接可以在 ISR 中调用一个通用代码函数(来自另一个链接)。在这种情况下,将检查调用者链接是否为所有者链接。
- 优先级等配置寄存器只能通过“安全根链接”进行更新。在这种情况下,所有者链接可以是“安全根链接”功能的调用者链接。