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.

[参考译文] 编译器/TMS320F2808:建议内存:闪存和 OTP 预取缓冲区溢出

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/863947/compiler-tms320f2808-advisory-memory-flash-and-otp-prefetch-buffer-overflow

器件型号:TMS320F2808

工具/软件:TI C/C++编译器

在 SPRZ171R - TMS320F2808的最新芯片勘误表中、存在"建议内存:闪存和 OTP 预取缓冲区溢出"

权变措施是"使用编译器开关-me 强制编译器生成 SBB/B 指令、而不是 SBF/BF 指令。"

我在编译器参考 SPRZ171R 或 SPRU514S 中找不到此开关。

我应该怎么做?

(我还无法通过 TMS320F2808的产品页面找到编译器手册、虽然我之前已经下载了副本、但这似乎很奇怪)、

此致、Giles

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

    稍后编辑... 事实证明、此帖子不正确。  请忽略它。  有关更多详细信息、请参阅后续帖子。

    从-me 选项开始的等效长整型值为-no_fast_branch。  不再对其进行记录、但 C28x 编译器仍然接受它。  使用它来避免器件勘误表中记录的问题是有效的。

    谢谢、此致、

    乔治

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

    Giles、

    对于15.12.0.LTS 之前的编译器版本:

    • 应使用-me 或-no_fast_branch 开关来禁用 SBF/BF 指令生成 、如通报中所述。

    对于15.12.0.LTS 之后的编译器版本、  

    • 只有从 RAM 运行的函数才会包含 SBF/BF 指令。    您可以使用--ramfunc=on 选项或__attribute__(((ramfunc))指定哪些函数将从 RAM 运行
    • 这满足了芯片故障(即没有从闪存运行的 SBF/BF)。

    将更新文档以阐明这一点。  请告诉我们这是否解决了您的问题。

    此致

    Lori

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

    Lori、

    好极了。  我查找更新的文档。

    谢谢、Giles