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:F021闪存 API、擦除带 ECC 的扇区或块

Guru**** 2482225 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/716712/rm57l843-f021-flash-api-erase-sector-or-block-with-ecc

器件型号:RM57L843

您好!

我有一个概念问题:使用 SPNU501H 文档和第5章建议的写入和擦除流程,我可以看到在 Fapi_issueProgrammingCommand()的写入端使用允许使用模式参数来确保自动生成 ECC。

您能否确认对扇区或组擦除使用 Fapi_issuiseCommandWithAddress()也是如此,对擦除的0xFF 自动生成 ECC 并写入 ECC 范围,以便 ESM 满意? 我认为情况就是这样。 是否需要为此启用 Fapi_enableAutoEccCalculation ()?

谢谢、

-Gunter

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

    另一个问题是如何处理针对闪存的 ESM ECC 检测、它是否需要在闪存写入和闪存擦除期间被禁用。 同样、假设使用使用 F021闪存 API 的引导加载程序进行写入和擦除。


    此致、
    -Gunter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    擦除操作期间、ECC 不会被计算或编程。 擦除操作后、ECC 值为 FF。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在这个基于 R5的器件上、ECC 缺省情况下被启用。 编程和擦除由一个状态机完成、并且可在闪存存储器上完成、而无需对 ECC 进行编程。 出现的两个问题是高速缓存行填充末尾的内存漏洞和尝试执行空白检查。 为了避免在高速缓存控制器抓取仅部分填满数据或代码的行时出现 ECC 错误、请在链接命令文件中为每个段使用填充、 或者将"align (32)"替换为"palign (32)"、以便为缓存行中的所有32个字节生成 ECC。

    SECTIONS
    {
    /*用户代码 begin (5)*/
    .intvecs:{}>向量
    .text palign (32):{}> FLASH0| FLASH1
    .const palign (32):{}> FLASH0 | FLASH1
    .cinit palign (32):{}> FLASH0| FLASH1
    .pinit palign (32):{}> FLASH0| FLASH1
    .bss :{}> RAM
    .data :{}> RAM
    .sysmem:{}>RAM
    #if 0/*
    用户代码结束*/
    .intvecs:{}>向量
    .text align (32):{}> FLASH0 | FLASH1
    .const align (32):{}> FLASH0 | FLASH1
    .cinit align (32):{}> FLASH0| FLASH1
    .pinit align (32):{}> FLASH0 | FLASH1
    .bss :{}> RAM
    .data :{}> RAM
    .sysmem:{}>RAM
    
    
    /*用户代码开始(6)*/
    #endif
    

    用于空白检查的闪存 API 函数使用一个特殊测试模式来验证数据和 ECC 位是否全部为 FF。