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.

[参考译文] AM2432:Arm Cortex M4上的 SDL ECC

Guru**** 2524460 points
Other Parts Discussed in Thread: AM2432

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1301189/am2432-sdl-ecc-on-arm-cortex-m4

器件型号:AM2432

大家好!

我们有一些关于在 TI Sitara AM2432 Arm-Cortex M4内核上使用 SDL for ECC 的问题:

  1. 在 ECC SDL 示例中、 SDL_ECC_aggr1 (值3)作为 ECC init ( SDL_ECC_init ) API。 您能否提供有关此接口的更多信息?
    1. 为什么 aggr1作为 memtype 传递?
    2. 这些 memtypes 如何与物理内存链接?
    3. 我们的目标是在 M4内核上执行 RAM 测试。 如果我们选择 memtype 作为 MCU_M4FSS0 (SDL_MCU_M4FSS0_BLAZAR_ECCAGGR)、并且我们想对 ECC 包装程序执行测试、我们如何对其进行测试?  在 TRM 文档中、该存储器显示为无法访问。



  2. 在 TRM 文档(请参考:表12-5051)中、我们可以看到6个 ECC 端点连接到 ECC aggr1。 但在示例中、ECC 初始化 API ( SDL_ECC_init) ,它仅选择给定 ECC 终点以下的2。

    IAM64_MAIN_EDC_CBASS_MAIN_0_AM64_MAIN_INFRA_CBASS_IK3VTM_N16FFC_MAIN_0_VBUSP_P2P_BRIDGE_IK3VTM_N16FFC_MAIN_0_VBUSP_BRIDGEC 和 IAM64_MAIN_CBUS_MAIN_0_AM64_MAX_MAIN_IQ4_SYSCLKUS_MAIN_CRCS_4_SYSL_4_CBISS_MI_SL_SL_SL_4_CSCL_CBISS_MAIN_MI_C_BUSCC_4)。

    其他 ECC 端点情况如何?

  3. SDL_ECC_init API 与 SDL_ECC_initMemory API 之间的确切区别是什么?
    我们的理解是、必须调用 SDL_ECC_initMemory 多次以初始化多个 ECC 端点、其中、我们可以调用 SDL_ECC_init 一次以初始化多个 ECC 端点。 请说明

  4. 数字隔离器与接收器之间的 SDL_ECC_注射错误  API 和 SDL_ECC_自检 API? 请澄清以下要点。
    1. 我们是否可以使用 SDL_ECC_自检 运行时的 API。 我们的理解是、由于它是一个阻塞调用、因此只能在启动期间使用它。
    2. 我们的理解是、 SDL_ECC_自检 API‘"重试次数"和‘"中断处理机制"、在发生 SDL_ECC_注射错误 API 进行配置。

  5. 在 ECC 的示例中、清楚地展示了如何使用安全 MCU 在 ECC 互连上注入错误、 SDL_ECC_注射错误 结构。 ECC 包装程序的方式是否相同?

  6. 您能向我们提供有关不同 Checker‘Group ID’(组 ID)和‘Checker Type’(检查类型)的更多信息吗?
    1. 奇偶校验、冗余和错误检测以及正确。
    2. 我们是否需要在每个 Checker 组 ID 上注入错误并进行验证?

谢谢。

路易斯

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

    您好、Luis:  

    我将搜索该查询。 我会在接下来的几天里提供反馈。

    谢谢。此致、
    Vishwanath Reddy.

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

    您好、Luis:  

    对于延迟回复深表歉意。 我当时正在紧急休假。

    1、示例是在连接到聚合器的总共6个 RAM 中测试2个 RAM  SDL_ECC_aggr1。   结构  SDL_ECC_aggrTable 在文件中 sdl_ecc_soc.h 文件包含 SOC 上所有可用聚合器的列表。 此结构还包含哪个 RAM 连接到聚合器的详细信息。 此结构与您在 TRM 中提到的表相对应。 对于无法访问的存储器类型、我们仅通过直接写入 ECC 聚合器来验证获取 ESM 响应的天气情况。  

    2.示例展示了很少的 RAM ID 来展示如何注入和检测错误。 同样的功能可以扩展到连接到它的其他 RAMID。

    3.  SDL_ECC_init  API 将初始化所需聚合器和配置的 RAM 所需的中断(SEC/DED/Parity)
    的。  SDL_ECC_initMemory  将对配置的 RAM ID 的数据执行读写回操作。

    4.您的理解是正确的。  

    是的、这对于互连类型存储器上的两个 ECC 包装程序都是一样的。

    6、未来几天我会详细介绍这一点。

    谢谢。此致、
    Vishwanath Reddy.

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

    谢谢 Vishwanath (我希望一切都好在你身边)
    团队将评估您的答案、并查看是否需要更多信息

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

    团队提出的其他问题:

    7.关于问题6的温柔提醒。

    8.我们的目标是对 M4内核执行 RAM 测试(数据 RAM 和指令 RAM)。 要对其进行测试、我们需要选择 memtype 作为 MCU_M4FSS0 (SDL_MCU_M4FSS0_BLAZAR_ECCAGGR)、并且需要在以下区域执行测试

    • ECC 包装程序、即 BLAZAR_IIRAM_ECC (地址范围0x00000000-0x0002FFFF)& BLAZAR_IDRAM_ECC (地址范围0x00030000-0x0003FFFF)
    • EDC 互连(即) BLAZAR_IIRAM_EDC _CTRL_0 BLAZAR_IDRAM_EDC _CTRL_0

    是这样吗? 请确认这一点。

    9.根据 TI 之前的回复"对于无法访问的存储器类型、我们仅在直接写入 ECC 聚合器以获得 ESM 响应的天气进行验证"、我们无法执行  SDL_ECC_注射错误  到无法访问的存储器(即 ECC 包装器(BLAZAR_IIRAM_ECC 和 BLAZAR_IDRAM_ECC)上)以上 –请确认这一点。

      1. 如果"是"、在产品运行时是否有任何方法向此 RAM 区域注入错误、并验证 ECC 错误检测功能是否按预期运行。
      2. 如果是、这是使用 SDL_ECC_initMemory API 测试该 RAM 区域或 ECC 包装器以初始化存储器的唯一过程。 然后执行读取和写入操作、等待检测到任何错误时的 ESM 响应。  –请确认这一点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luis,

    感谢您的耐心。  

    7:

    校验器类型:
    该操作可从以下任何值中获取:

    #define SDL_ECC_AGGR_CHECK_TYPE_INVALID  (0U)
    #define SDL_ECC_aggr_Checker_type_EDC      (1U)
    #define SDL_ECC_aggr_Checker_Type_Parity  (2U)
    #define SDL_ECC_AGGR_CHECK_TYPE_DULETE  (3u)
    这是固定的 、无法配置。  

    奇偶校验:  
    奇偶校验是一种以低成本覆盖信号的保护形式。 该功能是将信号的所有位进行异或运算、以产生单个代码位(带反转)或奇偶校验位。 然后该奇偶校验位在总线上传输。 这种保护只能可靠地检测单个位错误、因此控制总线信号可获得一定的覆盖。

    冗余:
    冗余是最简单的保护形式。 它只用于总线上的主控制信号、例如主请求或确认。 安全信号就是复制原始信号状态的额外位。

    EDC:
    https://www.ti.com/lit/an/spraco4a/spraco4a.pdf?ts = 1705909070789和 ref_url=https%253A%252F%252Fwww.google.com%252F

    组 ID:每个 EDC 类型的存储器具有多个组。
    TI 建议注入和验证所有校验器组 ID。
    8: 聚合器和 RAM ID  是正确的。
    9. 您要测试的 M4F 存储器是可访问的。 您应该能够注入并检测其中的错误。 我的评论是针对不可访问的内存(如 R5F 缓存内存).
    谢谢。此致、
    Vishwanath Reddy.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢你的评分 我会向我的同事确认是否有后续问题、或此信息是否足够、我们可以关闭此 TT。  

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

    感谢回复  Vishwanath ,我们有一个很好的理解的时间。 我们将自行进行测试、 如果有任何后续问题、我们会重新提出。