Software: Code Composer Studio 10.0.0 and simplelink_cc13x2_26x2_sdk_4_20_00_35
Harware: CC1352R
In the example application project simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL, I want to use byte array of big large size 87KB or more larger like as follows:
const uint8_t flash[] = { //0x5c00 0x6F, 0x14, 0xA2, 0x93, 0xDE, 0x05, 0xBA, 0x20, 0x5F, 0x42, 0xCC, 0x05, 0x5E, 0x42, 0x09, 0x4D, 0xCE, 0x4F, 0xBE, 0x48, 0x7F, 0x90, 0x0A, 0x00, 0xAD, 0x24, 0x7F, 0x90, 0x0D, 0x00, 0x04, 0x24, 0xF2, 0x90, 0x0E, 0x00, 0x09, 0x4D, 0xA3, 0x28, 0x5F, 0x42, 0x09, 0x4D, 0x1F, 0x53, 0xCF, 0x43, 0xBE, 0x48, 0xC2, 0x43, 0x09, 0x4D, 0xC2, 0x43, 0x20, 0x48, 0xC2, 0x43, 0x30, 0x48, 0xC2, 0x93, 0xBE, 0x48, 0x32, 0x24, 0x4A, 0x43, 0xCF, 0x0A, 0x0D, 0x43, 0x4B, 0x43, 0x6B, 0x93, 0x2C, 0x24, 0x4E, 0x4A, 0xAE, 0x00, 0xBE, 0x48, 0x69, 0x4E, 0x79, 0x90, 0x20, 0x00, 0x11, 0x24, 0x4D, 0x4B, 0x5D, 0x0E, 0x79, 0x90, 0x0D, 0x00, 0x07, 0x24, 0x4C, 0x4F, 0x0C, 0x5D, 0xCC, 0x49, 0x20, 0x48, ......
......
......
}
// Then use above array in init
Display_print1(dispHandle, 0, 0, "%02x", flash[0]);
The build information from CCS is as follows:
Huge arrays:
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .image_header ==> .image_header
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .resetVecs ==> .resetVecs
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .const ==> .const
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .text.2 ==> .text
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .rodata ==> .rodata
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .cinit ==> .cinit
Bigger Huge arrays:
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .image_header ==> .image_header
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .resetVecs ==> .resetVecs
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .const ==> .const
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .text.1 ==> .text.1
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .text.2 ==> .text.2
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .rodata ==> .rodata
"simple_peripheral_oad_offchip_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .cinit ==> .cinit
But I use our own custom off-chip OAD application with big array based on application example simple peripheral project, then get the following build information:
"simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .image_header ==> .image_header
"simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .resetVecs ==> .resetVecs
"simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .text ==> .text
"simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .const.1 ==> .const.1
"simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .rodata ==> .rodata
"simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .ccfg ==> .ccfg
"simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .cinit ==> .cinit
"simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs.out" .const.2 ==> .const.2
And I found the size of generated oad images are almost the same with big huge array or without big huge array but their hex file size are big different, as following tables
Please our hex file, map file and bin file with big array or without big array.
simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs_with_big_array.hex.txt
simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs_without_big_array.hex.txt
simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs_oad_with_big_array.bin.txt
simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs_oad_without_big_array.bin.txt
simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs_with_big_array.map.txt
simple_peripheral_CC13X2R1_LAUNCHXL_tirtos_ccs_without_big_array.map.txt
Any good suggestions?
Thanks.
BRs.