Part Number: SIMPLELINK-CC3220-SDK
Hi,
I finished porting my CC3200 based program (based on latest CC3200SDK_1.3.0) to CC3220SF (based on the latest cc32xx_sdk_1_40_01_00). Now I am testing my CC3220SF program and getting many RAM related issues. My CC3220SF program uses the same configuration as network_terminal example in latest cc32xx_sdk_1_40_01_00.
In CC3200, my program and data are all in 256KB RAM. It works on CC3200 very well.
When I ported to CC3220SF, I didn't add any new code, just ported to new CC3220SF. I found that my program uses much more RAM in CC3220SF than in CC3200. I am now getting "Application Malloc Failed" error. When I check into it and found that CC3200 SDK uses FreeRTOS 8.0.1 while CC3220 SDK uses FreeRTOS 9.0.0.
In FreeRTOSConfig.h file, there a major difference:
In CC3200SDK, configTOTAL_HEAP_SIZE = 5000
In CC3220SDK, configTOTAL_HEAP_SIZE = 0x8000
Q1: Why are they so different?
I tried decreasing configTOTAL_HEAP_SIZE in my CC3220SF program. But I got strange "Application Malloc Failed" and memory free error.
Q2: How to allocate heap size and stack size in CC3220SF?
In my CC3200 project properties -> CCS Build -> ARM Linker -> Basic Options, 0x8000 is set in both "Heap size for C/C++ dynamic memory allocation" and "Set C system stack size". However, in CC3220SF project properties, those two items are NOT set. Should I set any number over there? If not, at any other place I should set for heap size and stack size?
Q3: Is there a way to put my program in CC3220SF internal flash and at the same time I can use XDS110 to debug my program?
Right now I am debugging my program in CC3220SF, I suppose all my program and data are in 256KB RAM. If I can move my program to CC3220SF internal flash, my data can use all 256KB. At least, I can see if my program can run the same as in CC3200 platform.
Thanks in advance for your suggestion.
Al