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.

[参考译文] TMS570LS3137:组7上的 FEE EEPROM 和闪存组0上的闪存 API 操作

Guru**** 2482105 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/709891/tms570ls3137-fee-eeprom-on-bank-7-and-flash-api-operations-on-flash-bank-0

器件型号:TMS570LS3137

您好!

下面是我观察到的内容:

- TI_fee_Init()在启动时在 main()中调用。 我执行与 TI_FEE EEPROM 相关的读取和写入操作、所有这些操作都运行良好。

-稍后我对组0执行擦除和编程操作。 所有这些都能正常工作。

-稍后我需要再次向 TI FEE EEPROM 写入数据。 这一次我获得复位或 ARM 异常。

但是、如果我在这个 EEPROM 写入操作之前调用 TI_FEE ()、我会避免复位或 ARM 异常。

因此,在 EEPROM 写入操作之前再次调用 TI_fee_Init()是我目前为止发现的诀窍。 这是通过设计实现的吗? 这使我得出的结论是:

"在组0或组1上执行闪存 API 操作后,如果要写入组7上的 EEPROM,则需要再次调用 ti_fee_init()。 (即使您已经在 main()中调用了 ti_fee_init)"

以上观察结果和结论是否合理? 我的结论是对的吗?

若否,问题的原因是甚麽?

谢谢、

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

    我已将您的问题转交给我们的 FEE 驱动器专家。 他将很快回答您的问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我能够重现问题。 我将需要更多时间来调试此问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    该器件在任何时候只支持一个用于擦除/编程的组被激活。 在组0上运行操作后、使用以下 API 来启用组7的编程/擦除。

    Fapi_setActiveFlashBank (Fapi_FlashBank7);

    您无需每次都调用 TI_fee_Init。