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.

[参考译文] F29P329SM-Q1:有关闪存 API 的一些问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1628801/f29p329sm-q1-some-question-about-flash-api

器件型号: F29P329SM-Q1

您好的团队、

我向我的客户询问这个问题。

  1. 在我们的闪存 API 用户指南中、它应该调用 Fapi_getUserConfiguration () 来获取闪存 API 配置、闪存 API 将使用该变量 (u32UserFlashConfig) 来执行更多操作

image.png

image.png

但他们发现、即使将该变量初始化为 0、并在闪存操作中使用该变量、运算也将成功。

所以他们想知道这个变量的函数是什么?  

2.更重要的是,他们有引导加载程序项目和应用程序项目,他们希望在从引导加载程序跳转到应用程序之前,先初始化闪存 API。 我们是否有建议的初始化闪存 API 的流程?

BRS

Shuqing

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

    您好:

    所以他们想知道这个变量的函数是什么?  [/报价]

    该变量是一个位字段、用于告诉闪存 API 是对活动区域还是 FOTA 区域进行编程、以及它在哪个内核类型上运行。 其默认值为 0、这就是客户操作仍然成功的原因。

    ]此外、他们有引导加载程序项目和应用程序项目、并希望在从引导加载程序跳转到应用程序之前初始化闪存 API。 我们是否有建议的流程来初始化闪存 API?

    通过参考 F29 SDK (examples/driverlib/single_core/flash) 和 F29H85x 闪存 API 用户指南(修订版 A)中的编程示例、可以初始化闪存 API。 只要应用程序不更改 CPU 频率、闪存 API 就不需要在分支到应用程序后重新初始化。

    此致、

    Alex

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

    您好 Alex、

    在启动阶段运行以下代码后、 u32UserFlashConfig 的值将更改为 16(而不是 0)

     

    但是、如果我们将  u32UserFlashConfig 更 改为 0、并使用它来执行闪存操作、仍然会进行擦除/编程操作。

    这是意料之外的、 u32UserFlashConfig 的功能 是什么?

    BRS

    Shuqing

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

    您好:

    哪个 BANKMODE 是客户的器件? 对错误表示歉意。 “16"值“值来自 FOTAStatus Active_Bank 变量。

    当使用不支持 FOTA 的 BANKMODES 0 和 2 时、该位不相关。

    如果处于 BANKMODE 1 或 3、则默认情况下传递 u32UserFlashConfig=0 将对 FOTA 区域进行编程、因为未设置该位。

    此致、

    Alex

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

    您好 Alex、

    客户使用在 BANKMODE0 中运行的 F29P32。

     u32UserFlashConfig 是否与银行类型和 FOTAStatus 相关?

    您能否告诉我所有有效的 u32UserFlashConfig 值以及  这些值的相应含义?

    BRS

    Shuqing

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

    尊敬的 Shuqing:

      u32UserFlashConfig 是否仅与银行类型和 FOTAStatus 相关?

    可以 、 使用 u32UserFlashConfig 获取用户配置。

    u32UserFlashConfig = (uint32_t)(FOTAStatus<<4)| BankType);

    在这里、FOTAStatus 可以是两个值: FOTA_Image(值为 0U)和 Active_Bank (值= 1)。 Banktype 只能有一个值=  C29Bank (值= 0)。 因此、如果将 u32UserFlashConfig 值设为 16、则表明 FOTAStatus 为 Active_Bank(即 1<<4)。 当您将该值设为 0(即 0<<4)时、意味着 FOTAstatus 是 FOTA 映像。

     

    谢谢

    Aswin