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.

[FAQ] [参考译文] [常见问题解答] F05闪存:如何加速执行从闪存存储器运行的代码?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/759912/faq-f05-flash-how-can-i-speed-up-execution-of-code-running-from-flash-memory

问:我刚刚将代码从内部 RAM 移植到内部闪存。 从闪存执行速度要慢得多。 为什么会发生这种情况?  如何加速从闪存中运行的代码的性能?

C2000培训视频:https://training.ti.com/search-catalog/field_language/ZH-CN?keywords=C2000&start%5Bdate%5D=&end%5Bdate%5D=

C2000培训小程序码

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

    答:

    注意:此答案适用于具有 F05闪存的器件。  请参阅:  [常见问题解答] F05闪存:哪些 C2000器件具有"F05闪存"?

    闪存硬件需要等待状态才能正确执行代码。 因此、与零等待状态 RAM 相比、性能会更慢。 为了提升性能、可在运行时将时间关键代码从闪存复制到 RAM。 这有两种方法。

    1. 第一种也是最常用的方法是在输入应用程序代码时复制时间关键型函数。 此方法在《从内部闪存存储器运行应用》(SPRA958)应用手册中进行了说明。
    2. 第二种方法是在启动时将完整的编译器段(.text、.cinit 等)复制到 RAM、然后再输入应用程序代码。 这适用于较小的应用程序代码。 《TMS320F28xxx DSC (SPRAAU8)应用手册中的将编译器部分从闪存复制到 RAM 中》描述了这个方法。


    此外、检查代码以确保闪存等待状态已正确初始化、并且预处理缓冲器已启用。 请参阅  从闪存运行应用程序(spra958) 和 与闪存相关的示例:C2000Ware_\device_support\f \docs\

    有关 F05的更多常见问题解答、请参阅 [常见问题解答] F05闪存:常见问题解答