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.

[参考译文] TMS320F28377D:启用 ECC 时、闪存 API 在闪存 Fapi_setActiveFlashBank 执行上挂起

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/724505/tms320f28377d-flash-api-hangs-on-flash-fapi_setactiveflashbank-execution-when-ecc-enabled

器件型号:

尊敬的所有人:

我正在开发一个项目、该项目使用 TMS320F28377D 上的闪存 API 将设置写入闪存。

我遵循了 TI 文档和 TI E2E 社区提供的说明。

  1. 加电
  2.  使用 memcpy 将 F021_API_F2837xD_FPU32.lib 中的中断和函数从闪存复制到.TI.ramfunc
  3. 执行 InitFlash
  4. 增益泵访问  
  5. 执行 Fapi_InitializeAPI
  6. 执行 Fapi_setActiveFlashBank
  7. Fapi_issueProgrammingCommand

调试时一切正常、但发布时在步骤6上挂起。

我补充说

EALLOW;
Flash0EccRegs.ecc_enable.bit.enable = 0x00;
EDIS; 

在修复问题的步骤3之后关闭闪存的 ECC。

有人能告诉我在启用 ECC 时如何解决问题吗?

此致、

Bill

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

    尊敬的所有人:

    我做了另一个实验。 已添加  

    //禁用闪存
    EALLOW 的 ECC;
    Flash0EccRegs.ecc_enable.bit.enable = 0x00;
    EDIS; 

    并添加了  

    //启用闪存
    EALLOW 的 ECC;
    Flash0EccRegs.ecc_enable.bit.enable = 0x0A;
    EDIS; 

    第6步后、制作了美味的三明治。

    各方面都进展顺利。

    有人能告诉我为什么在启用闪存 ECC 的情况下步骤6无法运行?

    此致、

    Bill

     

    [引用 user="user3970314"]

    器件型号: TMS320F28377D

    尊敬的所有人:

    我正在开发一个项目、该项目使用 TMS320F28377D 上的闪存 API 将设置写入闪存

    我遵循了 TI 文档和 TI E2E 社区提供的说明。

    1. 加电
    2.  使用 memcpy 将 F021_API_F2837xD_FPU32.lib 中的中断和函数从闪存复制到.TI.ramfunc
    3. 执行 InitFlash
    4. 增益泵访问  
    5. 执行 Fapi_InitializeAPI
    6. 执行 Fapi_setActiveFlashBank
    7. Fapi_issueProgrammingCommand

    调试时一切正常、但发布时在步骤6上挂起。

    我补充说

    EALLOW;
    Flash0EccRegs.ecc_enable.bit.enable = 0x00;
    EDIS; 

    在修复问题的步骤3之后关闭闪存的 ECC。

    有人能告诉我在启用 ECC 时如何解决问题吗?

    此致、

    Bill

    [/报价]

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

    Bill、

    请搜索"为什么在 F2837xD CPU2上调用 Fapi_setActiveFlashBank()时会发生 NMI (由于双位错误)?" 链接: http://processors.wiki.ti.com/index.php/C2000_Flash_FAQ 

    谢谢、此致、

    Vamsi

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