Part Number:MSP430F5659
Tool/software: Code Composer Studio
I'm using compiler TI v17.3.0 with CCS Version: 6.1.0.00104. Optimization Disabled
I'm using #pragma SET_DATA_SECTION to store arrays of data in sections I define in my cmd file. On inspection of the .map file, the sections exist, but no data is being stored in them. I am updating a project where this piece of code worked for a long time, below are the things that I have changed:
- I just recently updated my compiler from TI v4.4.5 to gain additional support for time.h.
- I relocated the header file that sets the data sections
Here are snippets from my .cmd, .map, and .h file:
CMD
SECTIONS { .bss : {} > RAM | RAM2 /* Global & static vars */ .data : {} > RAM | RAM2 /* Global & static vars */ .TI.noinit : {} > RAM | RAM2 /* For #pragma noinit */ .sysmem : {} > RAM /* Dynamic memory allocation area */ .stack : {} > RAM (HIGH) /* Software system stack */ .fl_start : {} > FL_JMP .fl_main : {} > FL_MAIN .fl_version : {} > FL_VER ....
MAP
****************************************************************************** MSP430 Linker PC v17.3.0 ****************************************************************************** >> Linked Wed Jun 14 10:38:15 2017 OUTPUT FILE NAME: <Evolution.out> ENTRY POINT SYMBOL: "_c_int00_noargs_noexit" address: 0000c8d4 MEMORY CONFIGURATION name origin length used unused attr fill ---------------------- -------- --------- -------- -------- ---- -------- SFR 00000000 00000010 00000000 00000010 RWIX PERIPHERALS_8BIT 00000010 000000f0 00000000 000000f0 RWIX PERIPHERALS_16BIT 00000100 00000100 00000000 00000100 RWIX INFOD 00001800 00000080 00000000 00000080 RWIX INFOC 00001880 00000080 00000000 00000080 RWIX INFOB 00001900 00000080 00000000 00000080 RWIX INFOA 00001980 00000080 00000000 00000080 RWIX USBRAM 00001c00 00000800 00000000 00000800 RWIX RAM 00002400 00004000 00000da0 00003260 RWIX FL_JMP 00008000 00000200 00000000 00000200 RWIX FL_VER 00008200 00000200 00000000 00000200 RWIX FL_MAIN 00008400 00004000 00000000 00004000 RWIX ......
Header File
#pragma SET_DATA_SECTION(".fl_start") const char fl1[] = {0x32,0xC2, ...}; #pragma SET_DATA_SECTION() #pragma SET_DATA_SECTION(".fl_version") const char fl_ver[] = { 0x01,0x00,0x06,0x00}; #pragma SET_DATA_SECTION() #pragma SET_DATA_SECTION(".fl_main") const char fl2[] = {0xB1,0x00, ...} #pragma SET_DATA_SECTION()
If you could point me in the right direction I would appreciate it.
Thanks,