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.

[参考译文] RM57L843:Fapi_doBlankCheckByByte

Guru**** 2558250 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1561116/rm57l843-fapi_doblankcheckbybyte

部件号:RM57L843


工具/软件:

我不明白什么是使用 Fapi_doBlankCheckByByte () 函数的有效方法。

我的理解是、如果闪存位置为空、此函数可实现安全读取。 在运行时、我们需要编写一些日志、为此、我们必须确定第一个空地址。 我们计划使用第 1 银行的第 14 和第 15 扇区。

该函数的说明指出“由于闪存的擦除状态不是有效的 ECC 条件、因此必须在组 0 - 6 上至少禁用 ECC 校正。“ 我不知道该怎么做、甚至可能、因为我们不能在此 CPU 上禁用 ECC。
链接器文件被设置为在加载期间计算所有其他地址的 ECC、整个闪存为 32 字节对齐、因此缓存不会触发 ECC 错误、并且 ESM STAT2 寄存器为空、直到我们使用 Fapi_doBlankCheckByByte () 函数。
此外、在调用函数之前、我还尝试了 l2ramwREG->RAMCTRL = 0x05050005U。
如果您能告诉我我对 Fapi_doBlankCheckByByte 用法的误解、并尽可能提供在运行时期间正确读取空位置的步骤。
BR、
Filip

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

    感谢您的答复 jagadish。

    1. 我明白,这是绝望的尝试。  
      您尝试的 l2ramwREG->RAMCTRL 设置不会影响闪存 ECC 处理 (2)
    2. 我找不到这里提到的函数的任何参考。  [引用 userid=“524805" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1561116/rm57l843-fapi_doblankcheckbybyte/6026646
      Flash_setEEERASEMode ();
      Flash_setEWAITValue (2);
      如果可以的话、请说明我需要做什么。 通过查看 FSM 命令、我无法确定具体的步骤。
    3. 只是为了确认 Fapi_doBlankCheck () 和 Fapi_doBlankCheckByByte (),可能不建议在运行时使用,但可能只是诊断函数?