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.

[参考译文] TMS320F28035-Q1:在闪存 API 之前禁用全局中断

Guru**** 2445440 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1527113/tms320f28035-q1-disable-the-global-interrupt-before-flash-api

器件型号:TMS320F28035-Q1

工具/软件:

尊敬的专家:

我们的闪存 API 文档中说它可以在调用闪存 API 之前禁用中断

本章提供了如何 执行操作的代码演示

由于它是汇编代码、因此客户使用 asm() 来实现它、您能帮助检查下面函数中是否有问题吗?

BRS

Shuqing

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

    Shuqing

    我想了解更多关于客户用例的背景信息。  当我阅读闪存 API 指南时、我认为“步骤 9“是说客户可以选择禁用全局中断、因为闪存 API 将根据需要处理此问题、因此时间关键型代码不会受到影响。

    因此、如果客户愿意、可以选择禁用中断(使用标准 DINT 命令和完成后 EINT)、但这不是必需的。

    客户提到的所有功能都不需要在代码库中重新复制。

    如果客户在这里有更多关于最终要求的详细信息、请告诉我、我很乐意查看。

    此致、

    Matthew

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

    Shuqing

    根据我们的转换回复、为了在调用闪存 API 之前禁用全局中断、客户只需在其 C 代码中使用 DINT(此宏将通过设置 INTM 位来处理禁用全局中断)、然后在闪存编程完成后使用 EINT

    XNMI 部分不适用于 F2803x/02x。  之前的 Gen2 器件(如 F2833x)中存在这种情况、但在 F2802x/3x/6x 器件中删除了这种情况;因此客户无需为 XMNI 做任何事情。  此地址范围在 F2802x/3x 中保留;因此、即使 API 仍有此调用(我怀疑)、代码也不会执行任何操作。

    现在、出于以下原因:

    这适用于客户仍在运行时间关键型控制代码、而在进入闪存 API 之前未禁用中断的用例。  在本例中、是指 API 本身在擦除期间禁用 ISR 的时间、该时间将为 3-4ms、可能需要为 ISR 提供服务。

    在这种情况下、客户仅进行引导至固件更新、因此没有时间关键型代码等

    我想向客户强调的另一件事是我们在 DS 中列出的擦除时间:

    https://www.ti.com/document-viewer/TMS320F28035-Q1/datasheet#GUID-3780BF1F-53A1-460D-98F3-F029AC4CE5BA/TITLE-SPRS523SPRS5237446

    最大擦除时间为每个扇区 12 秒(典型值为 2s/扇区)。  客户需要确保任何外部元件(如看门狗或其他可能 ping F2803x 的元件)由于时间的推移不会拉动 F2803x 上的 XRSn。  在系统中观察到该擦除时间延缓窗口非常重要。

    如果时间过长、我们可以探索如何重新启用中断、并允许 API 的持续时间为 3-4ms、以便为任何外部监视器等提供服务

    最后、

    根据经验、要避免 CSM(代码安全模块问题);如果客户可以避免对扇区 A/H 进行编程、最好是出现电源故障而不影响 CSM 和锁定器件。  根据客户在开发/发布过程中的位置、这可能无法实现。  但我确实想提出这个问题、以防它对固件更新策略有帮助。  A/H 没有问题、但如果闪存编程/擦除被中断并且这些是活动扇区、那么它可能会导致 CSM 损坏、进而锁定器件。   

    根据我们的谈话、我不确定客户看到的是问题、而是基于 FA 的闪存出现了电气问题。  如果未观察到锁定、则可以忽略上述段落。

    此致、
    Matthew