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:片上闪存擦除问题

Guru**** 2432700 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1274541/tms570lc4357-on-chip-flash-erasing-problem

器件型号:TMS570LC4357

大家好、

客户有问题需要您的帮助:

我使用 F021 API 来擦除和写入片上闪存。 具体过程如下:

擦除 bank1 -将0xAA 写入 bank1 -读取 bank1空间并检查是否将所有内容写入0xAA -擦除 bank1 -将0x55写入 bank1 -读取 bank1空间并检查是否将所有内容写入0x55

在上面的过程中、第一次擦除、写入和读取都是正常的;第二次擦除、写入是正常的、没有错误被报告、但是当读取时、发现部分空间没有被写为0x55、仍然是0xAA

上述问题不适用于组7

如果我在启动阶段不调用 CacheEnable、则以上问题消失;

如果我  在启动阶段调用 CacheEnable 并在每次闪存写入后调用_dCacheInvalid_ ,我通过串行端口打印发现 在执行调用_dCacheInvalidate_函数后,该函数无法继续执行;

s

这种情况的原因可能是什么?  我该如何解决?

此外、当配置闪存组0/1/7在 MPU 模块中所处的空间时、我应该配置什么样的权限?

谢谢。此致、

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

    此外、当我写入 bank0 (写入最后一个扇区)时、我将遇到与 bank1相同的问题。

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

    尊敬的 Ben:

    我能否获得一个包含您提到的问题的示例项目、这将有助于我在结束时触发问题并在结束时进行必要的调试。

    --

    谢谢。此致、
    Jagadish。

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

    Jagadish、您好!

    很遗憾、由于涉及信息安全、 我们无法提供项目。

    我介绍了今天的进度、TI 本身提供的_dCacheInvalidate_函数用于使整个缓存无效、我根据 R5手册(MCR P15、#0、R0、C7、C6、 #1),使每次写入闪存后地址更改的超速缓存行无效,这解决了我提到的第二个读取错误的问题。

    虽然问题不再发生,但我们不十分清楚问题的原因,因此我们想提出以下两个问题:

    1.为什么最后写入的数据在缓存中没有刷新? 我们针对 BANK0/1的 MPU 配置为 NORMAL_OIWTNOW_NONSHARED

    我们猜想是:第一次擦除和写入是通过 API 完成的、不经过高速缓存、直接通过地址读取、高速缓存将缓存第一次读取的数据; 第二次擦除写入也没有缓存、但在第二次读取时、部分数据读取实际上是缓存中缓存的第一个数据

    2.调用_dCacheInvalid_为什么会导致程序挂起并且无法继续执行? 它是否与 MPU 将 SRAM 空间配置为 WRITE_BACK 属性有关?

    此致、

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

    尊敬的 Ben:

    遗憾的是,由于涉及信息安全, 我们无法提供此项目。

    明白了、没有问题。

    感谢您提供更多信息。 我将尝试创建一个示例项目、以解决您提到的问题。 请给我一些时间来这样做。

    --

    谢谢。此致、
    Jagadish。

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

    尊敬的 Ben:

    将尝试创建一个示例项目,其中包含您提到的问题。 请给我一些时间来这样做。

    同时、您可以参考以下工作示例吗?

    e2e.ti.com/.../3146.FAPI_5F00_TEST_5F00_LC43.zip

    e2e.ti.com/.../7331.FAPI_5F00_TEST_5F00_LC4357.zip

    e2e.ti.com/.../FAPI_5F00_TEST_5F00_LC4357_5F00_desktop.zip

    --

    谢谢。此致、
    Jagadish。