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.

[参考译文] RM44L520:FEE 和看门狗

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/997731/rm44l520-fee-and-watchdog

器件型号:RM44L520
主题中讨论的其他器件: HALCOGEN

各位同事、大家好!

我有一个来自我的客户的问题、描述如下:

 

我使用 RM44L520安全 MCU。

如果看门狗配置为在8s 以内触发、似乎不可能使用 FEE (闪存 EEPROM 仿真)模块(RM44L520数据表第6.10.6章数据闪存中的"扇区/组擦除时间、EEPROM 仿真"最大值)。

对于我的应用、我应该使用2.5ms 看门狗启动时间。 但是在 TI_FeeInternal_PollFlashStatus()函数中没有用户回调为看门狗提供服务,因此调用 TI_FEE 格式()将重置 MCU。

在不改变由 HalCoGen 生成的 FEE 模块的源的情况下、我可以用它做什么?

谢谢、

Daria

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

    您好、Daria、

    您可以 使用 F021 API 的 FAPI_SUSPEND_FSM 宏暂停闪存编程/擦除操作、  然后稍后调用 Fapi_ProgramResume 或 Fapi_EraseResume 以恢复闪存操作。

    您需要在暂停之前允许擦除操作至少执行2.5ms、否则擦除状态机将不会进行、擦除将不会完成。

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

    只需检查一下。 我之前的回复在 e2e.ti.com 网站上按下"回复"按钮后丢失、

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

    因此、请重试#2以在此站点上发布答案。

    您好!

    感谢您的回答。

    我想澄清答案。

    正如我在 ti_fee_format.c 的源代码中看到的:

    1.从我的代码调用 TI_FEE 格式()将调用 Fapi_issueCommandWithAddress (Fapi_EraseSector,...)

    2. Fapi_issueAppoedAppoedCommandWithAddress()将立即返回。 请注意、扇区擦除的最大时间为8s

    接下来,在 TI_FEE 格式()中调用 TI_FeeInternal_PollFlashStatus (),它将等待上一个操作(扇区擦除,最大值为8s)的结束。

    4.调用 TI_FeeInternal_PollFlashStatus()时,MCU 将由 WDT 复位。

    我应该在什么时候调用 FAPI_SUSPEND FSM? 调用 TI_FEE 格式()之前?

    此致、Vitaliy

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

    8秒的闪存擦除时间只发生在极端最坏的情况下: 接近100K 写入擦除周期限制、并且在低温下。

    TI_FEE 格式(0用于格式化所有虚拟扇区。 调用此函数后、您将丢失所有收费数据。  仅当您要重新配置数据块/虚拟扇区或检测到严重错误情况时、才应调用此函数。

    调用 FAPI_SUSPEND_FSM 以释放 CPU 以馈送看门狗。  

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

    你(们)好

    是否在擦除扇区之后定期调用 TI_FeeInternal_PollFlashStatus()?

    例如,调用:TI_fee_MainFunction ()-> TI_FeeInternal_FindVirtualSector ()-> TI_FeeInternal_FindReadyNextEraseVirtualSector ()-> Fapi_issueInternal_FindCommandWithAddress (Fapi_EraseCommandWithor,...) 然后调用 TI_FeeInternal_PollFlashStatus(),该函数应等待擦除扇区的完成作业。

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

    在发出扇区擦除命令后调用一次该函数。

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

    最可能的时间可能超过2.5ms -> MCU 将通过 WDT 复位

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

    在暂停之前、擦除操作必须至少执行2.5ms、否则擦除状态机将不会进行、擦除将不会完成。 如果使用2.5ms 看门狗、则看门狗可能不会及时得到处理。