This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM2434:AM2434 OCRAM 与 DMSC &amp 一起使用;DMSC/SYSFW 在航天和安培背景下使用;国防 DAL 认证

Guru**** 2388100 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1500649/am2434-am2434-ocram-usage-with-dmsc-dmsc-sysfw-in-context-of-aerospace-defense-dal-certification

器件型号:AM2434

工具/软件:

代表客户提出问题

  • DMSC 是一种可能像次级内核那样引起时序干扰的外设、因为我们目前不打算使用多个 R5F 内核、所以我们不打算花费时间和资源来解决 AC 20-193注意事项。  
  • 不了解 DMSC 的安全属性(即无法证明它比任何其他片上外设安全或更安全)。  

问题:  

  1. DMSC 连续运行并主动使用 OCSRAM 的一部分。 DMSC 是否会在 Cortex-R5F 内核上引起时序干扰? 如果不是、如何实现这一目标?  
  2. 更具体地说:R5F 内核和 DMSC 之间是否存在用于 OCSRAM 访问的争用?  
  3. DMSC 中运行的代码的时序配置文件是什么? 它是连续执行的循环还是通过某种中断启用的循环?  
  4. DMSC 如何处理单粒子翻转(SEU)场景等问题? 是否有有关 DMSC 实施的安全相关措施的文档?   
  5. DMSC 执行 Cortex-R5F 必须向其请求的管理功能。 Cortex-R5F 是否能够执行相同的操作、或者只有 DMSC 可以访问部分(或所有)管理资源?  
  6. 是否可以自定义 DMSC 代码?  
  7. TI 是否 存在与客户共享 DMSC 代码的可能性? 当进行认证时、验证方面是一个很大的问题、无法访问操作期间执行的整个代码是一个很大的缺点。  
  8. 是否有办法禁用 DMSC? 我们的意图是让 DMSC 在启动期间执行其严格必要的操作(如果它无法完全更换、当然这是更好的做法)、然后进入关闭/睡眠/保持模式以释放要在运行中使用的完整 OCSRAM、并消除任何干扰问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    应允许客户访问 AM24x 系列安全手册和 FMEDA 配套资料。  

    https://www.ti.com/drr/opn/AM64X-RESTRICTED-DOCS-SAFETY

    回答他们的询问

    1. DMSC 连续运行并主动使用 OCSRAM 的一部分。 DMSC 是否会在 Cortex-R5F 内核上引起时序干扰? 如果不是、如何实现这一目标?  

    DMSC 使用的片上 RAM 段被保留、不供其他内核使用。 有8x256kB SRAM、我们将它们集中在一起、在抽象图表级别调用 MSRAM。 每个256k 区域都是自己的单端口存储器。 仅通过一个发起方使用每个区域、冲突不会发生。 DMSC 使用的256KB 区域、请勿在其他任何地方接触它。

    https://www.ti.com/document-viewer/lit/html/SPRUIM2H#GUID-9B06B805-207C-4E2B-81DB-F5F1444DADFD/TITLE-SPRUIM2SOC_MAIN_MEMMAP_SEC

     

    查看尝试解释这一点的 E2E

    (85) AM2432:共享 OCRAM 的带宽是多少? -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

     

     

    2.更具体地说:R5F 内核和 DMSC 之间是否存在用于 OCSRAM 访问的争用?  

    与1相同

    3、DMSC 内部运行的代码的计时配置文件是什么? 它是连续执行的循环还是通过某种中断启用的循环?  

    基于中断。

    4. DMSC 如何处理单粒子翻转(SEU)情景? 是否有有关 DMSC 实施的安全相关措施的文档?   

    DMSC-RAM1是用于 DMSC RAM 的存储器 ECC、可通过允许检测和校正 single-bit 错误和检测 double-bit 错误来提供软错误保护。 MSRAM1是片上 RAM 的存储器 ECC。

    (请参阅安全手册)  

     5 DMSC 执行 Cortex-R5F 必须向其请求的管理功能。 Cortex-R5F 是否能够执行相同的操作、或者只有 DMSC 可以访问部分(或所有)管理资源?  

    所有电源管理、资源管理 和安全/防火墙配置均从特定内核(R5F 或 A53)请求、并由 DMSC M3提供。 当前软件架构不允许在没有 DMSC 的情况下完成任何此类操作

    6是否可以自定义 DMSC 代码?  

    我们不支持客户修改 DMSC 代码。

    7TI 是否  存在与客户共享 DMSC 代码的可能性? 当进行认证时、验证方面是一个很大的问题、无法访问操作期间执行的整个代码是一个很大的缺点。  

    可在例外情况下根据严格的 NDA 共享源代码。 代码按原样提供、我们不支持有关源代码的任何问题、也不对最终认证提供任何支持。  

    8/是否有办法禁用 DMSC? 我们的意图是让 DMSC 在启动期间执行其严格必要的操作(如果它无法完全更换、当然这是更好的做法)、然后进入关闭/睡眠/保持模式以释放要在运行中使用的完整 OCSRAM、并消除任何干扰问题。

    所有 PM、RM 和安全配置都需要 DMSC、在当前软件架构中无法禁用。 我们不支持修改或绕过此设置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Mukul、

    您可以在下面找到客户的其他问题。

    1. 假设我们将仅使用集群0的 R5F 内核0、并且我们不打算在 MCU 引导和设置后对 DMSC 执行任何请求、则 DMSC 本身会执行哪些操作? 触发其周期性行为的中断频率是多少?

     

    1. 关于 DMSC、认证机构通常会提出哪些问题? 如果他们问我们任何我们自己无法回答的问题,我们可以将他们的问题转发给你吗?

     

    虽然我们确信只需要一个 R5F 内核、但我们确实需要所拥有的每个存储器位。 因此:

     

    1. 是否有任何标准程序可以使集群0的 R5F 内核0使用集群1 TCM? 我们假设这是可以实现的、因为 SPRACV1B 为"另一个 Cortex-R5F 的 TCM "提供了存储器读取延迟、但我们不知道如何操作。

     

    1. AM243x MCU+ SDK 显示 MSRAM 组7、如下所示:

     

     

    在我们的场景(单核、MCU 之间无需 IPC)、我们是否能够将该组的所有128KB 用于非时间关键型数据/代码?

     

    1. 我们是否正确地假设我们可以将空载数据(例如.bss 段)分配给 SBL 使用的512KB?

     

    1. 我们使用 GPMC 与66MHz 处的 FPGA 进行通信。由于 FPGA 使用受到的限制、我们将难以增加 GPMC 频率。 虽然其写入速度符合我们的预期(~27MB/s)、但读取速度成为瓶颈(~7.5MB/s)。 在以前使用其他 MCU 的外部接口时、读取速度通常比写入速度慢、但事务时间最多增加了30%、而不是360%。 您是否有任何改进 GPMC 性能的建议(例如缩短交易之间周转周期的方法)?

    请说明一下。

    谢谢。此致、

    汉密尔顿

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hello Hamilton、

    我们使用 GPMC 与66MHz 处的 FPGA 进行通信–由于 FPGA 使用的限制、我们将难以增加 GPMC 频率。 虽然其写入速度符合我们的预期(~27MB/s)、但读取速度成为瓶颈(~7.5MB/s)。 在以前使用其他 MCU 的外部接口时、读取速度通常比写入速度慢、但事务时间最多增加了30%、而不是360%。 您是否有任何改进 GPMC 性能的建议(例如减少事务之间周转周期的方法)?

    具有 PSRAM 的 AM64x 上的 GPMC 性能(16位、多路复用模式)

    我们评估了使用16位多路复用模式连接到 PSRAM 的 AM64x 上 GPMC 的读写性能。 下面是我们的观察结果和性能结果(在 Release Build 中捕获)。

    需要澄清的问题:

    为了更好地了解和比较您的绩效结果、请确认以下几点:
    1.内存类型配置:
    •在 SoC 侧、您是否将 GPMC 接口配置为 PSRAM、NAND 或 NOR?


    2.总线配置:
    •您使用的是16位接口、8位接口还是32位接口?
    •您的接口是否处于多路复用或非多路复用模式?


    3、定时参数:
    •是否使用 MCU+SDK 中提供的默认时序参数?
    •或者您是否修改过它们? 如果是、请分享使用的时序配置。


    4.构建配置:
    •测量值是在 Debug 还是 Release Build 中捕获的?
    •如果客户在 Debug Build 中执行测试、请要求他们在 Release Build 中重新检查、以获得真实的性能指标。

    后续步骤:

    如果在微调时序参数后无法进一步优化性能、则可以考虑使用 DMA 评估 GPMC 以提高吞吐量-此方法是否正常?

    确认以上详细信息后、敬请告知。我们很乐意提供调优建议或基于 DMA 的测试示例(如果需要)。

    您是否还可以分享 GPMC 的 syscfg 以查看时序参数?

    此致、

    Anil.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid="10446" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers---internal/f/arm-based-microcontrollers---internal-forum/1500649/am2434-am2434-ocram-usage-with-dmsc-dmsc-sysfw-in-context-of-aerospace-defense-dal-certification/5784856 #5784856"]
    1. 关于 DMSC、认证机构通常会提出哪些问题? 如果他们问我们任何我们自己无法回答的问题,我们可以将他们的问题转发给你吗?

     

    [/报价]

    如果您正在讨论 DAL 或 AC 20-193认证注意事项-我们的产品线系统或应用对此没有任何经验。  客户通常需要与其终端认证机构一起管理这一问题。 我们不必自行获取 DMSC 软件进行此类认证。 我还没有关于通过认证的 A&D 客户的历史、因为此类开发和流程通常需要大量时间。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    假设我们将仅使用集群0的 R5F 内核0、并且不会在 MCU 启动和设置后对 DMSC 执行任何请求、DMSC 本身会执行哪些操作? 触发其周期性行为的中断频率是多少?

    SYSFW 应在空闲循环中等待、直到安全代理 IP 向 DMSC 内核注册中断、以便 SYSFW 使用接收到的消息。 如果不使用任何 TISCI 消息、则 SYSFW 应始终在空闲循环中等待。

    是否有任何标准程序可以使集群0的 R5F 内核0使用集群1 TCM? 我们假设这是可以实现的、因为 SPRACV1B 为"另一个 Cortex-R5F 的 TCM "提供了内存读取延迟、但我们不知道如何执行此操作。

    TCM 也映射到 SoC 地址映射。 因此、其他内核可以使用其 SoC 地址空间、根据需要使用可用的 TCM。

    在我们的场景(单核、MCU 之间无需 IPC)中、我们是否能够将该库的所有128KB 用于非时间关键型数据/代码?

    BANK7的一部分始终被 SYSFW 占用。

    https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/security_handover.html#mcusram-bank-7-resource-usage-after-security-handover

    我们是否正确假设我们可以将空载数据(例如.bss 段)分配给 SBL 使用的512KB?

    正确。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Mukul、

    您可以在下面找到 Embraer 的一些其他问题。  

    我们花了一些时间消化电话会议的内容,这是非常有成效的–感谢你的时间! 我们目前无法深入了解 GPMC 设置以更深入地分析我们的总线低吞吐量问题、但我们注意到读取和写入性能之间的巨大差异是由于 GPMC 在两次读取操作之间的12个总线周期内保持空闲、而在两次写入操作之间不会发生这种较大的中断。 我们希望在未来几周提供更多的细节。

    同时,我们还有其他一些问题(如果您愿意,我们可以继续将其发送到这里或直接发送给 Mukul Bhatnagar 和 Pekka VARiS ):

     R5F 是否能够使用隔离式 M4F 拥有的 MSRAM? 与主 OCSRAM 相比、其延迟是多少?

     根据我们的会议调用、我们了解到 GPMC 是一种正在逐步淘汰的旧技术。 我们通常依靠并行总线与 FPGA 通信(以便 FPGA 可以对 MCU 发送的信号进行过采样并且仍然保持一定的带宽)、我们想知道现代解决方案是什么来确保与 FPGA 进行快速可靠的通信。

    您能帮助我们及时回应吗?

    谢谢。此致、

    汉密尔顿

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Hamilton  

    根据 GPMC 吞吐量或读取和写入之间的周期问题、我建议客户或您打开一个单独的 E2E 帖子、以提供更多详细信息、并根据他们可以提供的其他详细信息、我们将尝试分配给硬件或软件团队中的合适所有者。  

    在 R5F 延迟上、请查看基准测试应用手册中的数据是否有所帮助

    https://www.ti.com/lit/an/spracv1b/spracv1b.pdf

    第3.1.3节.  

    在更现代的 FPGA 连接接口上,虽然我们仍然看到一些客户使用 GPMC for FPGA POST (如果您在我们的论坛上搜索,您会在工作中找到此类实现的几个参考),更标准的接口,至少 AM64将是 PCIe ,如果客户可以考虑 SERDES 和 FPGA 尺寸的成本和复杂性。  

    请注意、TI 没有完整的 PCIe 驱动程序覆盖、并且缺少一些功能。 如果他们想要实现这一路线、我们可以建议几个可以提供 PCIe 软件启用支持的第三方。

    此致

    Mukul