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.

[参考译文] RTOS:如何映射 CC3220S 闪存?

Guru**** 2555630 points
Other Parts Discussed in Thread: CC3220S, CC2640, CC3220SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/693096/rtos-how-to-map-cc3220s-flash

主题中讨论的其他器件:CC3220SCC2640CC3220SF

工具/软件:TI-RTOS

大家好、

在我的项目中、我使用 CC3220S + CC2640作为智能网关、实际上、我已经在这个主题中问过这个问题:

https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/t/684605

在这里、我想以一个新的线程的形式询问它、

CC3220S。

SDK:simplelink_cc32xx_sdk_2_10_00_04

外设(SPI)闪存8MB。


"./CC3220S_LAUNCHXL_TIRTOS.cmd",第61行:错误#10099-D:程序将不能装入可用内存。  对齐方式对".bss"大小为0x3dc6的段运行定位失败。  可用存储器范围:
  SRAM        大小:0x3c000     未使用:0x2e98      最大空洞:0x2e90    
"../CC3220S_LAUNCHXL_TIRTOS.cmd",第63行:错误#10099-D:程序不能装入可用内存。  对齐方式对".data"大小为0x3dbbe 的运行放置失败。  可用存储器范围:
  SRAM        大小:0x3c000     未使用:0x2e98      最大空洞:0x2e90    
错误#10010:链接期间遇到错误;未构建"cc3220S_app.out"

两个人给出了一些好的建议、但仍然无法解决我的问题。

在这里、我想知道如何映射 CC3220S 上的每个段、例如.data、.bss、.text 等。

一般而言,我重新定义了一些全局字符串变量,如下所示:const char* const g_str =“这是一个示例”;并减小了一些全局缓冲区大小,但仍然遇到了上述问题。

那么、是否有任何有关如何映射 RAM 和(外设)闪存的指南文档?

非常感谢。

LINX

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

    您好、LINX、

    只需在 CCS 论坛上进行后续讨论即可。

    CC3220S 芯片具有256KB RAM。 您需要将所有段(.data、.bss、.text 等)放入此 RAM 中。 无法将这些段中的任何一个映射到外部闪存中。 外部闪存、您可以将其用作数据存储器。 可通过 sl_ filesystem API 访问此数据。 当您需要处理此外部数据时、仍需要将其读取到 RAM 中。

    您应该检查 RAM 缓冲器/变量、全局字符串的大小并考虑更改它们的大小。 您有多少 const 字符串和 RAM 缓冲器/变量? 或者、您也可以选择 CC3220SF 芯片。 它具有1MB XAP (片上闪存)以执行代码(常量字符串可放置在此处)。

    确定段大小的好工具是 CCS 中的内存分配工具。 请在此提供此工具的屏幕截图、如下所示:

    (上图来自 CC3220SF 芯片、其中我增加了缓冲器的大小、使其不适合 RAM。 有40KB RAM 溢出图示)

    1月

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