Part Number:CC1310
Tool/software: Code Composer Studio
In Ti official project rfWsnNodeIntFlashOadClient_CC1310_LAUNCHXL_tirtos_ccs, SDK simplelink_cc13x0_sdk_1_50_00_08, i use CCS7 to compile the OAD image but it fail with memery problem .
compile error is :../CC1310_LAUNCHXL_TIRTOS_OAD.cmd", line 86: error #10099-D: program will not fit into available memory. placement with alignment fails for section ".const" size 0x4c58 . Available memory ranges:
FLASH size: 0xeff0 unused: 0x3a06 max hole: 0x39f6
error #10010: errors encountered during linking; "rfWsnNodeIntFlashOadClient_CC1310_LAUNCHXL_tirtos_ccs.out" not built.
It seems that the oad image flash size is more than 60KB limit which inflash OAD image should under.
The problem occur after I follow the project guide /ti/simplelink_cc13x0_sdk_1_50_00_08/examples/rtos/CC1350_LAUNCHXL/easylink/rfWsnNodeIntFlashOadClient/README.html.
here is the guide:
Building the hex file in CCS
- Import the CCS porject into CCS(for more information conslt the Examples Users Guide in the proprietary-rf documentation)
- If this is for an OAD image (not an image to be flashed), then exclude the ccfg.c file from the project.
- Add FEATURE_OAD_ONCHIP and HAL_IMAGE_A or HAL_IMAGE_B to the predefined Symbols in Project->Properties Arm Compiler / Predefined Symbols tab (for Image B the TIRTOS config file must also be changed, see below).
- Add FEATURE_OAD_ONCHIP=1 and HAL_IMAGE_A=1 or HAL_IMAGE_B=1 to the Linker symbol definition in Project->Properties ARM Linker->Advanced Options / Command File Preprocessing tab (for Image B the TIRTOS config file must also be changed, see below).
- Enable hex file conversion in Project->Properties Arm Hex Utility
- Set memory width to 8 in General options
- Set output format to intel hex.
- Make a code change update the nodeFwVersion string in NodeTask.c
- build
The above macro change will set the program flash size to 0xEFF0 which I find in the project file CC1310_LAUNCHXL_TIRTOS_OAD.cmd:
here is the source code:
#if defined(FEATURE_OAD_ONCHIP)
#if defined(HAL_IMAGE_B)
#define FLASH_BASE 0x10000
#define FLASH_SIZE 0xEFF0
#else // HAL_IMAGE_A
#define FLASH_BASE 0x1000
#define FLASH_SIZE 0xEFF0
#endif
#else
#define FLASH_BASE 0x1010
#define FLASH_SIZE 0x1EFF0
#endif
So i try to set the FLASH_SIZE back to 0x1EFF0,the compile pass. But the program size is larger than 60KB, i can't create a useable OAD image.
The office project doesn't work. Should i do some addition settings in CCS7? Is it any way to reduce the flash size?