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:F021闪存 API 源代码是否可用?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/752131/tms570ls3137-f021-flash-api-source-available

器件型号:TMS570LS3137

我的项目中有一个引导加载程序、因此我将在运行时更新映像。 我有一个可重现的情况、在这种情况下、加载新代码后、对 Fapi_initiatalizeFlashBanks 的第一次调用将损坏(至少一个)文件范围变量(已经初始化)。  

我之前看到过一篇文章、说明 API 源不可用。 如果仍然如此、我能否获取 Fapi_initializeFlashBanks 的源代码?

如果我无法获得函数或 API 源,你能告诉我全局/文件范围变量 Fapi_initiizeFlashBanks 正在使用--它们存储在内存中的什么位置,我能在映射文件中看到它们吗?

此外 、Fapi_initializeFlashBanks 是否使用由链接器生成的指针常量(如_TI_Pinit_Base)?

 在写入新的闪存映像后(在运行时)、Fapi_initializeFlashBanks 中的某些内容未正确更新。

谢谢、

Jim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您可以查看我的 Fapi_initiatalizeFlashBanks 源、了解更多信息。 在映射文件的末尾附近、有4个分配了存储器位置的变量、这些变量不在我的源代码中(大概在 TI 库中):_lock、_unlock、u32MainFclkScale 和 u32EEFclkScale。 我已知会损坏的变量位于 u32EEFclkScale 旁边。 这些是由链接器分配的还是动态大小?

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

    我已经验证 F021闪存 API 是否包括至少2个初始化的全局变量(在.data 段中)、这些变量是通过调用 Fapi_initiatalizeFlashBanks 写入的-- 问题是、在新固件更新后、.data 段可以移动一个位、因此现在闪存 API 库正在对我的变量进行步进。 现在、我需要将 F021闪存 API 库定位到专用的固定闪存和 RAM 位置。 在链接器命令文件中,我知道如何将 API 库定位到闪存的特定区域(并在 RAM 的特定区域之外执行)--但您知道如何将闪存 API 全局变量定位到 RAM 的特定位置吗?

    谢谢、

    Jim

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

    很抱歉我迟到了。 F021库的源代码不可用。 引导加载程序工程中有一个将闪存 API 放置到特定 RAM 位置的示例。 我不知道如何将 API 全局变量放置在.bss 的特定位置、甚至不知道 F021 API 中使用的全局变量。