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.

[参考译文] TMS570LC4357:加电时预取中止

Guru**** 2478765 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/933134/tms570lc4357-prefetch-abort-on-power-on

器件型号:TMS570LC4357

我错误地阅读了对这个"父线程"的最后一个答复-我使用了 CPSID 而不是 CPSIE、它显然不启用中断、而是禁用中断。

只需使用 CPSIE、仍会将我直接发送到预取中止状态。 但是将 hal_mcuIsrInit()移动到异常标志清除后的行(之前附件中 hal_mcu.c 中的第376行)解决了这个问题。 现在我很好奇-这条指令缓解了我的问题的原因是否可以知道(可能甚至很明显)?

此致、
卢卡斯

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

    您好 Lucas、

    您在哪里设置闪存等待状态? 我在您的代码中找不到。

    L2闪存支持高达45MHz 的零数据等待状态。 L2闪存由 HCLK 计时、并被限制在最大150MHz。 如果您的代码中使用了 HCLK=150MHz、则等待状态应设置为3。

    使用 闪存包装程序中的 FRDCNTL 寄存器设置等待状态。