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.

[参考译文] CCS/CC3200:CC3200MODLAUNCHXL:代码的执行方式

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/770869/ccs-cc3200-cc3200modlaunchxl-how-the-code-is-executed

器件型号:CC3200
主题中讨论的其他器件: CC3220SF

工具/软件:Code Composer Studio

你(们)好。

       我在 SRAM_CODE 和 SPI 闪存中几乎没有什么困惑。

据我所知、如果我只能使用240KB 的 RAM、RAM 大小为256KB。 如果我将 SRAM_CODE 大小设置为140KB、那么如果我的代码大小高于140KB、我是否能够编译代码?

因为我知道 SPI 闪存大小为1MB。 并非所有代码都存储在 SPI 闪存中?

那么、我的问题是 SPI 闪存和 SRAM_CODE 之间有什么关系?

请在这里提供更多详细信息。

谢谢

Ganesh

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

    您好、Ganesh、

    CC3200不包含用于代码执行的内部闪存。 它仅具有256KB RAM。 在该 RAM 中、您还需要调整代码和数据(堆、堆栈、变量等)。 SRAM_CODE 段用于代码、SRAM_DATA 段用于数据。 段在链接器文件(CCS 中的.cmd 文件)中定义。 无法直接从 SPI 闪存执行代码。 需要将其加载到 RAM 中以供执行。

    您可以使用高达240KB 的 SRAM_CODE 段、但在这种情况下、您将没有足够的空间用于数据(SRAM_DATA 段)。 140KB 大小的代码段听起来像是段大小之间的合理权衡。 CC3200复位后、它启动 ROM 引导程序。 此引导程序从外部闪存读取文件 mcuimg.bin、将其加载到 RAM 中并开始执行代码。 SPI 闪存用于存储代码、但还包含器件配置、服务包、临时文件、Web 文件和您的用户文件。

    如果您需要更大的代码、而256KB RAM 不足以支持您的数据+代码、您可以选择:
    -使用具有内部 XIP 闪存的第2代或第3代器件(例如 CC3220SF)
    -使用 CC3200 SDK 示例"dynamic lib_loader"中描述的高级技术

    1月