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.

[参考译文] 编译器/RM48L952:TI &放大器;客户 OTP 区域读取

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/864410/compiler-rm48l952-ti-customer-otp-region-reading

器件型号:RM48L952

工具/软件:TI C/C++编译器

您好、TI、

对于 RM48 MCU 平台上的 OTP、我有两个问题。

1)

相关 TRM 指出、有一些部分可供您读取 TI 特定信息、如 MCU 名称、版本、闪存组、其扇区、大小等。 不知为何我无法从该部分读取数据、因为在调试期间、"Memory Browser"视图中该数据标记为灰色  

是 TRM 中的错误、还是不打算读出数据、或者如何读取这些简单信息以进行进一步评估?

2)

当我查看 TRM 时、有一些部分是针对 OTP 的客户和 TI 特有的。 当我调试 MCU 上的可执行文件(而没有在 OTP 上写入任何内容)并且我尝试访问 OTP 区域时、我会看到 ESM 模块组1 (FMC -可纠正的错误:总线1和总线2接口)和 ESM 组3 (FMC -不可纠正的错误: 总线1和总线2接口)、一旦我尝试读取"客户"特定区域。 我认为这是因为 OTP 存储器目前未编程。 因此、不会对相应的 ECC 进行编程、并且由于与 ECC 不匹配、从应用程序读取的结果会导致错误行为。

这个假设是正确的、或者当我对 OTP 区域执行简单读取时、为什么会得到 ESM 模块指示的这些错误。

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

    您好!

    TI OTP 扇区用于包含制造信息。 用户可以读取它们、但不能进行编程或擦除。 TI OTP 扇区包含闪存 API 用于设置闪存状态机以执行擦除和编程操作的设置。 客户 OTP 区域映射到从 F0000000h 开始的偏移量,而 TI OTP 区域映射到 CPU 内存映射中的0xF0080000。

    有关闪存组/扇区信息、请读取0xF0080158。 请参阅 TRM 的5.4.2。

    如果闪存 ECC 校验被启用、读取 OTP 将 生成 不可纠正的 ECC 错误、这是因为客户 OTP ECC 区域中的 ECC 值未被编程。

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

    QJ Wang、您好!

    感谢您的反馈。  

    调试期间、我在内存视图浏览器中看不到任何有效的数据内容、我看一下"0xF0080158]地址、因为 CCS 向我提供了内存映射阻止我读取它的警告或错误。 这不会影响程序的运行时行为、但在调试时、我无法在内存浏览器上的预期位置查看数据。

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

    您好!

    1. 通过调用_coreDisableFlashEcc_()禁用 sys_startup.c 中的闪存 ECC

    2.执行代码到 main()

    3.打开内存浏览器

    4.键入地址0xF0080158

    您将看到有效 的闪存组/扇区信息。