TI中文支持网
TI专业的中文技术问题搜集分享网站

关于cc2650stk内存大小的问题

大家好,

目前正使用cc2650stk做adc采样,然后对ADC进行的结果进行处理,处理的方法是FFT。之后我把这个整个程序集成到了ble project zero中。但编译时一直报错说内存不够。但集成到TI-RTOS时程序就可以正常运行。以下是报错的图片。看cc2650的datasheet它有128KB flash和20KB SRAM。在没集成到ble project zero之前(程序运行在TI-RTOS)TASK_STACK_SIZE我设的是4096,但集成到ble project zero后就编译就会显示内存不足。

主要想了解一下这两个error是什么意思。另外有没有解决办法。里面比较占内存的有,256个包含两个float型变量的没赋值的结构体,和256个已经赋值的结构体。

Viki Shi:

就是内存不足的意思,可以修改 linker command file装下代码processors.wiki.ti.com/…/Linker_Command_File_Primer

Boyuan Zhao:

回复 Viki Shi:

问下
.text:>> FLASH | FLASH_LAST_PAGE
.cinit:>FLASH | FLASH_LAST_PAGE
这个“ > ”和“ >> ”有什么区别

Alvin Chen:

回复 Boyuan Zhao:

Allocate to Multiple Memory Ranges
Consider this example …
.text > FLASH0 | FLASH1
That means the .text output section is allocated to the memory range FLASH0 or FLASH1. FLASH0 is tried first. If it cannot contain all of .text, then FLASH1 is tried. Note .text is not split. The entire output section is placed in either FLASH0 or FLASH1.

Split an Output Section Across Multiple Memory Ranges
Consider this example …
.text : >> RAMM0 | RAML0 | RAML1
That means .text is split across those memory ranges. Note the ">>" syntax. If all of .text does not fit in RAMM0, then it is split, and the rest goes into the remaining memory ranges. The split occurs on input section boundaries. An input section is never split. The memory ranges are used in that order.

赞(0)
未经允许不得转载:TI中文支持网 » 关于cc2650stk内存大小的问题
分享到: 更多 (0)