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.

[参考译文] TMS570LC4357:L2FMC#5 -对模块使用条款和对这些模块的访问进行了澄清

Guru**** 2609285 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/750552/tms570lc4357-l2fmc-5---clarification-of-used-terms-for-modules-and-access-into-those-modules

器件型号:TMS570LC4357

大家好、

您能否解释一下错误项目 L2FMC#5的芯片勘误表 SPNZ232B 中使用的一些名称配置为"正常"类型存储器时、从闪存 ECC 数据存储器区域、闪存 OTP 存储器区域或数据闪存存储器区域读取的数据不正确

此问题与以下模块/外设有关。 附加的句子是否正确或我对此有错误的想法?

  1. ECC 数据存储器
    1. CPU -用户软件(实际上是 TI F021库代码)-仅在上传此类软件时才能访问该区域、对吧? 那么、这是应受此问题影响的写入访问、对吧?
    2. 否则、读取代码和数据时、内部人员(内置硬件模块)会访问该区域
    3. 对于 b 项:当数据从闪存存储器中读取并通过内部总线传输时、除了 ECC 检查外、当数据进入 CPU 时、内部还会执行 ECC (其他)检查; 换句话说、ECC 数据存储器在每次指令加载(获取)期间被访问、所以应该有足够的空间为代码闪存配置 MPU 区域。 但这会导致程序执行的巨大性能损失。
  2. 闪存 OTP 存储器
  3. 数据闪存存储器
    1. 这是专用闪存空间(0xF0200000 - 0xF021FFFF)之上仿真的 EEPROM 的另一个命名吗?
感谢您提前提供提示、
此致、Jiri
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jiri、

    闪存数据空间 ECC (0xF040_xxxx)
    a.写入访问不受影响
    B.只从该区域读取受影响
    C.读取代码闪存(0x00000000~0x003FFFFF)不受影响。 这个闪存区域可被配置为正常、器件、或者严格排序。
    闪存 OTP:0xF000_0000 ~ 0xF00C_1FFF
    3、数据闪存存储器或 EEPROM 存储块:0xF020_xxxx、数据闪存 ECC 或 EEPROM ECC:0xF010_xxxx
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、QJ Wang、

    感谢您的准确回答-这对我有很大的解释!

    仅是最后一个问题:

    • 我不知道我们的代码故意读取闪存 ECC 区域的情况-老实说,我不知道为什么应该这么做;-)我对吗?
      • 例如 SPNU540a:ECC 评估由总线主控或 CPU 内部的 ECC 控制逻辑完成
        互连子系统。
      • 那么、为什么 CPU 本身应该直接寻址和读取这个区域呢?

    感谢您提前进行澄清、

    此致、Jiri

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

    为了检查 L2FMC ECC 功能、在 OTP 中故意设置了单位和双位错误。 TI OTP 组0位置0xF008_03F0到0xF008_03F7中64位的任何部分都将生成一个单位错误。 TI OTP 组0位置0xF008_03F8至0xF008_03FF 中64位的任何部分都将生成双位错误。

    这些位置的值是固定的。 具有1位错误和2位错误的 ECC 值已经被编程到它们的 ECC 区域中。 当 CPU 从0xF008_03F0中读取64位数据时、它也会读取相应的 ECC。 接收到数据和 ECC 后、CPU 将通过执行 ECC 检查来评估数据的完整性。