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.

[参考译文] TMS320F28377S:C2000诊断库:引导 ROM 黄金 CRC

Guru**** 2482225 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/769819/tms320f28377s-c2000-diagnostic-library-boot-rom-golden-crc

器件型号:TMS320F28377S

您好!

我在浏览 C2000诊断库、以检查引导 ROM 和闪存测试过程。 我需要对下面提到的一些检查作出一些澄清。 请检查是否相同。

1.在 sta_tests.c 文件中,我看到了 sta_Brom_CRC 的起始地址、结束地址和黄金 CRC 值

  • 在本例中、什么是黄金 CRC、这是引导 ROM 的固定值? 如果起始地址和结束地址发生变化、黄金 CRC 值是否也会发生变化? 是否有任何文档提供详细信息?
  • 如何检查安全 ROM? 如何使用它?

如何检查 CPU1.CLA1数据 ROM 以进行诊断

3. 在 STA_FLASH_CRC 案例的 sta_tests.c 文件中,我看到了起始地址、结束地址和黄金 CRC 值

  • 指定的测试地址范围适用于 OTP 区域、并提供固定的黄金 CRC。 我能否使用相同的黄金 CRC 值检查整个闪存。 如果范围不同、黄金 CRC 是否会保持不变。 是否有任何文档提供详细信息?

是否有可用于引导寄存器的头文件?

谢谢你

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

    1) 1)黄金 CRC 适用于测试中的该特定范围。 如果范围和数据发生变化、生成的黄金 CRC 值将发生变化。 为了确定特定范围的黄金 CRC 值、您应该执行以下一项或两项操作:在该范围上多次运行 CRC 计算并确保 CRC 相同。 这是黄金 CRC 值。 在多个器件上运行 CRC 计算。 这是黄金 CRC 值。

    您不能检查安全 ROM、因为它是只执行的。

    2) 2)您可以对来自 CLA 的 CLA 数据 ROM 执行相同的操作。 您可以读取数据并对其进行校验和、也可以对数据执行 CRC。

    3) 3)您可以检查所需的范围。 但 CRC 值会随着数据的变化而变化。 如果不清楚这一点、我建议您了解什么是循环冗余校验。

    4) 4)我不知道您也提到了什么。 请参阅 TRM 的引导 ROM 一章。

    希望这对您有所帮助、
    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Sal Pezzino

    我知道对十六进制文件进行 CRC 校验以检查完整性。 金 CRC 一词让我感到、它将是固定的。 随着尺寸和数据的变化、CRC 将被改变、我们需要重新计算相同的值。 我相信对于引导 ROM (CLA ROM)、CRC 与诊断库中显示的一样、剩下的事情我们必须自己计算并比较 CRC 以进行完整性检查。

    关于引导 ROM 头文件、我看到了访问(直接寄存器访问)引导 ROM 状态寄存器、如下所示

    if ((HWREG (STL_Brom_CPU1_STATUS_ADDR)& STL_Brom_ERROR)!= 0x000000000000U)

    相反、如果我需要访问这些寄存器的位字段、我应该有位字段头文件

    我没有看到引导 ROM 寄存器的位字段头文件、这是我的问题(当然、我可以自己创建一个、但只是查询)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我认为这些不是实际的寄存器。 它们是 RAM M0中的硬编码地址。 您可以查看地址。 它应该位于地址0x0000附近的 RAM M0中。

    我们没有用于它们的位字段头文件、因为它们不是真正的寄存器、而只是 RAM 存储器位置。 如果您感兴趣、可以使用硬编码地址来访问它们。

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