This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: TI C/C++ Compiler
Hi,
I am trying to load a bootloader program with blinky app using the F28M36x63c2 concerto card. I am using compiler 16.9.0.LTS and face the error:
Description Resource Path Location Type
#10430-D ".TI.ramfunc" section generated by __attribute__((ramfunc)) or --ramfunc=on requires a SECTIONS specification to function. M3Bootloader C/C++ Problem
I checked the version and the linker file but it seems okay to me. Could anyone please let me know what is going wrong here?
Thanks,
Sanjana
The cmd file looks like this:
* ======== TMDXDOCK28M36.cmd ========
* Define the memory block start/length for the TMDXDOCK28M36 M3
*/
// FLASH_BOOT (the vector) goes into FLASH_BOOTLOADER_VEC
#define FLASH_BOOTLOADER_VEC FLASH_BOOT
// FLASH (the rest of the code) goes into FLASH_BOOTLOADER
#define FLASH_BOOTLOADER FLASH
#include "F28M36_M3_MEMORY.lds"
SECTIONS
{
/* Allocate program areas: */
.text : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.binit : > FLASH
.init_array : > FLASH
/* Initialized sections go in Flash_B */
.const : > FLASH
/* Allocate uninitalized data sections: */
.data : > C03SRAM | RAM2
.bss : > C03SRAM | RAM2
.sysmem : > C03SRAM | RAM2
.stack : > C03SRAM | RAM2
.cio : > C03SRAM | RAM2
.neardata : > C03SRAM | RAM2
.rodata : > C03SRAM | RAM2
.args : > C03SRAM | RAM2
.exch_mem : START(TFSystemGlobalData_address) > EXCHANGE_RAM
.smem_m3_tx : START(SmemTransportM3TxStart) > SMEM_TRANSPORT_M3_TX
.smem_c28_tx: START(SmemTransportC28TxStart) > SMEM_TRANSPORT_C28_TX
.app_storage: START(AppFlashStartAddress) > FLASH_APPLICATION_VEC
.flash_log : START(FlashLogAddress) > FLASH_LOG
.end_flash : START(AppFlashEndAddress) > FLASH_LOG
GROUP
{
ramfuncs
{
-l F021_API_CortexM3_LE.lib
}
} LOAD = FLASH,
RUN = C03SRAM,
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(RamfuncsRunEnd),
PAGE = 0
}
__STACK_TOP = __stack + 256;
Please see the wiki article Placing functions in RAM. Pay close attention to the section on the linker command file.
Thanks and regards,
-George