器件型号: AM243X - MCU-PLUS-SDK
您好 Anil 或其他 TI 专家、
感谢您的答复。 感谢有关在 M4 应用程序而不是 SBL 中放置隔离配置的说明。 但是、你的回答提出了另外几个问题和一些似乎相互矛盾的问题。 您能帮助我们澄清以下内容吗?
关于前一答复中的矛盾的初步说明
您说过“ MAIN 域无法访问任何 MCU 外设和 MCU 存储器、同样、MCU 内核也无法访问 MAIN 域外设和主域存储器“、但这似乎意味着默认情况下已经强制执行隔离。 如果是这种情况、为什么根本需要任何其他配置? 您能否说明这是默认硬件状态、还是需要显式软件配置才能激活?
此外、您还提到了“ SBL 已经检查 MCU 内核是否隔离、并重新初始化时钟“、但未提供有关此检查使用哪些寄存器或机制的详细信息。 您能详细说明一下吗?
第 1 部分–隔离机制:防火墙与 CTRLMMR 寄存器
-
只需配置即可 CTRLMMR_MCU_LOCKn 寄存器 来强制实施 MCU 域隔离、还是必须配置 防火墙规则 (RAT/CBASS) 才能保证硬件级隔离?
-
仅配置 CTRLMMR_MCU_LOCKn 寄存器与配置防火墙规则之间的隔离保证的确切差异是什么?
-
是否必须写入一个最终寄存器列表(包括地址和位字段)、才能在 AM243x 上实现完整的 MCU 岛隔离? 最好参考技术参考手册 (TRM) 或安全手册。
第 2 部分–保护隔离配置免受 R5 覆盖的影响
一旦 M4 应用程序通过 CTRLMMR_MCU_LOCKn 寄存器配置和锁定隔离、我们需要确保 R5(主域)无法撤消此配置。
-
M4 应用程序写入隔离配置并锁定后、 R5 内核仍可以修改这些寄存器吗 ? 如果是、防止这种情况的正确机制是什么?
-
是否有 硬件强制写保护机制 (例如防火墙规则,粘滞锁定位或一次性可编程配置)、防止主域 R5 在由 M4 设置后修改 MCU 域隔离寄存器?
-
正确的顺序是什么:
- 配置与 M4 的隔离
- 锁定配置
- 验证 R5 是否不能覆盖它
第 3 部分–MSRAM 共享存储器和隔离影响
我们目前使用的示例 MSRAM、用于单向内核间通信 : M4 写入, R5 读取。 我们需要了解隔离如何影响这种布置。
-
激活 MCU 域隔离后、 M4 内核仍可写入 MSRAM、而 R5 内核仍可从 MSRAM 读取 ? 还是隔离块跨域 MSRAM 完全访问?
-
如果仍然可以跨隔离边界访问 MSRAM、会执行什么操作 有关数据完整性和访问订购的硬件保证 (内存障碍,高速缓存一致性)?
-
如果隔离阻止了 MSRAM 跨域访问、什么是 推荐的共享内存备用 要在隔离式 MCU 岛配置中进行单向 M4→R5 通信?
第 4 部分–确定性 M4 MSRAM 访问的 QoS 配置
M4 内核需要对 MSRAM 进行确定性、优先级访问、以满足时序限制。 并发 R5 访问在某些情况下会导致延迟问题、我们需要保证确定性优先级。
-
配置什么是正确的机制 M4 MSRAM 访问优先级的 QoS(服务质量) 开始呢? 具体来说:
- 哪些寄存器控制 M4 与 R5 MSRAM 访问的 QoS 优先级?
- 有哪些优先级可用?
-
M4 应用程序设置 QoS 配置后、 如何锁定或保护这种配置 来防止 R5 内核有意或无意地覆盖它?
-
是否有 硬件仲裁机制 在保证 M4 访问优先级高于 R5 的 MSRAM 互连 (CBASS) 中、如果是、如何配置和锁定它?
第 5 部分–M4 的安全验证和验证
您建议通过跨域边界访问内存进行测试、但未提供结构化且安全的验证序列。
-
什么是 建议的安全验证序列 验证隔离是否有效? 具体来说:
- 如果安装了故障处理程序(总线错误/中止处理程序) 解决方案 正在尝试进行任何跨域访问测试?
- M4 上的哪个故障或错误寄存器表示防火墙正确阻止了跨域访问?
-
都有 状态寄存器或硬件标志 M4 可以读取以确认隔离当前处于活动状态、而无需执行潜在的破坏性跨域访问测试?
-
有没有 官方指导手册、应用手册或安全手册部分 下面介绍了 AM243x MCU 岛配置的分步隔离验证过程?
第 6 部分–文档
您提到没有有关此主题的特定安全文档、但提供了检查文档。 请确认:
-
中介绍了 MCU 岛隔离 AM243x 安全手册 ?
-
是否在中进行介绍 AM243x 器件 TRM 或防火墙部分下?
-
有没有 内部 TI 应用手册或设计指南 这描述了完整的隔离配置过程、即使没有通过标准通道公开提供该过程也是如此?
我们还了解examples/drivers/safety/reset_isolation_ipc MCU+SDK 中的示例。 您能澄清一下它的实现是否满足吗 安全手册要求 或者它是否只是一个没有安全认证保证的功能演示? 这种区别对我们的项目至关重要。
术语说明
为避免混淆、请注意、在我们的项目术语中:
- L0 引导加载程序 :DMSC 根据引导模式启动的引导过程
- L1 引导加载程序 :我们在 R5 内核上运行的自定义引导加载程序,它将应用程序加载到 M4 和 R5 内核
当我们提到在应用阶段配置隔离时、是指在 L1 引导加载程序完成且 M4 应用程序固件运行后。
非常感谢您的持续支持。 我们期待您的澄清。
此致、Petr