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:初始化闪存 API V2.01.01时出现问题

Guru**** 2394305 points
Other Parts Discussed in Thread: TMS570LS3137

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/663494/tms570ls3137-problem-initializing-flash-api-v2-01-01

器件型号:TMS570LS3137

您好!

多年来、我们一直在为引导加载程序使用旧的闪存 API V1.00、最近我们决定将 API 更新到 V2.01.01版。

调用函数 Fapi_initiatalizeFlashBanks( 180 )时遇到问题,它返回状态 Fapi_Error_InvalidHclkValue,如果忽略此错误,擦除操作将失败。

我们使用的频率为180MHz、RWAIT 设置为3、ASWSTEN 设置为1。

如果我们使用140MHz 的频率、 RWAIT 设置为2、ASWSTEN 设置为0、则会间歇性工作。

如果我们使用100MHz 的频率、 RWAIT 设置为2、ASWSTEN 设置为0、则它始终有效。

是否有使用 API 的最大频率? 我应该使用不同的等待状态配置吗?

谢谢、

Martin

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

    最大频率为器件的 HCLK。 对于 PGE 封装、闪存支持管线模式中160MHz 的最大 CPU 时钟速度、对于 ZWT 封装、此时钟速度为180MHz、具有一个地址等待状态和三个数据等待状态。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我们使用180MHz 的 ZWT 封装、具有一个地址等待状态和三个数据等待状态、并且我们收到了 Fapi_Error_InvalidHclkValue 错误。

    您能告诉我已验证了什么来声明此错误吗?

    谢谢、

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

    尊敬的 Martin:

    已使用180MHz 系统时钟在 TMS570LS3137 ZWT 器件上测试闪存 API、我未发现问题。 "Fapi_initializeFlashBanks(.)"的返回值 为0。

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

    是的、我相信您。 我认为我的项目中的其他一些配置可能存在问题。

    是否可以获取此函数的源代码。 我想看看该函数正在验证什么、以找出我所做的错误。

    谢谢、

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

    尊敬的 Martin:

    附件是我用于测试闪存 API 的项目。 PLL 为180Mhz。

    e2e.ti.com/.../5355.Flash_5F00_API_5F00_Test.zip

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

    感谢您提供代码。 我发现了问题、EEPROM 等待状态(ewait)未配置、因此等待状态的数量错误。
    闪存 API 现在的运行频率为180MHz。

    谢谢、

    Martin