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.

[参考译文] F2.8335万闪存编程

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/578649/f28335-flash-programming

您好,

我正在处理一个项目,我发现我可以将代码存储在闪存中。

我对处理器体系结构不是很满意,我需要对闪存进行一些说明:

1) 如果我将代码存储在闪存中,阵列和数据是否仍会保存在RAM内存中,只有代码存储在闪存中? (这样我就可以获得更多空间,因为我的代码本身不会使用任何RAM空间?)

2) 如果将代码存储在闪存中,为什么代码运行速度较慢?

3) 对于我的项目,我需要做大约850kHz的ADC (我每32个加起来进行过采样)。 从闪存运行代码是否会影响处理器,因此我可能无法如此快速地进行ADC?

非常感谢您的回答,这对我来说非常重要。

此致,

伊凡。

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

    您好Ivan:

    [引述] 1.) 如果我将代码存储在闪存中,阵列和数据是否仍会保存在RAM内存中,只有代码存储在闪存中? (这样我就可以获得更多空间,因为我的代码本身不会使用任何RAM空间?) [/引述]

    它取决于链接程序cmd文件中不同代码部分的位置。

    [引述] 2.) 如果将代码存储在闪存中,为什么代码运行速度较慢? [/引述]

    您看到了多少差异? 闪存是等待指定的内存(根据CPU frq的不同等待状态),因此速度会很慢,但我们需要启用预取功能,以最大程度地减少影响。 请检查从闪存运行的示例代码以了解这些设置。

    [引述] 3.) 对于我的项目,我需要做大约850kHz的ADC (我每32个加起来进行过采样)。 从闪存运行代码是否会影响处理器,因此我可能无法如此快速地进行ADC? [/引述]

    即使在闪存中对代码进行编程,您也始终可以在运行期间从闪存中复制时间关键型代码,然后从RAM中执行。 基本上在闪存中有负载,但从RAM中运行选项。 您也可以从示例代码获取此信息,该代码将闪存配置代码复制到RAM。

    此致,

    Vivek Singh

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

    您好,

    感谢您的快速回答!

    那么我可以将我的代码的某些部分放在闪存中,而将某些部分放在RAM中? 这将解决我的问题。

    谢谢!

    伊凡。

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

    还有一个问题:

    我的变量(全局和本地)是否存储在RAM中,即使我在闪存中存储了代码?
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您应该搜索SPRA958 -非常好的文档,详细描述了Flash ...