Part Number: MSP432P401R
Hello There,
I've written my OTA application. Getting below error while building the project.
<a href="file:/C:/ti/ccs1010/ccs/tools/compiler/dmed/HTML/10099.html">#10099-D</a> program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment fails for section ".resetVecs" size 0x3c, overlaps with ".TI.bound:flashBuf0", size 0x3000 (page 0).
1. Linker File
--retain=interruptVectors --stack_size=1024 /* C stack is also used for ISR stack */ HEAPSIZE = 0x8000; /* Size of heap buffer used by HeapMem */ MEMORY { MAIN (RX) : origin = 0x00008000, length = 0x00040000 INFO (RX) : origin = 0x00200000, length = 0x00004000 ALIAS { SRAM_CODE (RWX): origin = 0x01000000 SRAM_DATA (RW) : origin = 0x20000000 } length = 0x00010000 } /* Section allocation in memory */ SECTIONS { .text : > MAIN .TI.ramfunc : {} load=MAIN, run=SRAM_CODE, table(BINIT) .const : > MAIN .cinit : > MAIN .pinit : > MAIN .init_array : > MAIN .data : > SRAM_DATA .bss : > SRAM_DATA .sysmem : > SRAM_DATA /* Heap buffer used by HeapMem */ .priheap : { __primary_heap_start__ = .; . += HEAPSIZE; __primary_heap_end__ = .; } > SRAM_DATA align 8 .stack : > SRAM_DATA (HIGH) } /* Symbolic definition of the WDTCTL register for RTS */ WDTCTL_SYM = 0x4000480C;
2. TIRTOS build configs.
/* ================ Reset configuration ================ */ var Reset = xdc.useModule("xdc.runtime.Reset"); /* * This function is used when a boot loader is used */ Reset.fxns[Reset.fxns.length++] = "&otaResetFunction"; /* ================ Vector Table re-location ================ */ var m3Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi'); m3Hwi.resetVectorAddress = 0x8000; /* App base */
3. otaResetFunction defined in main
#if defined(__TI_COMPILER_VERSION__) || defined(__GNUC__) extern uint32_t ti_sysbios_family_arm_m3_Hwi_resetVectors; int otaResetFunction(void) #elif defined(__IAR_SYSTEMS_ICC__) extern uint32_t __intvec_start__; __interwork int __low_level_init(void) #endif { /* Use Application the interrupt vector */ #if defined(__TI_COMPILER_VERSION__) || defined(__GNUC__) SCB->VTOR = (uint32_t) &ti_sysbios_family_arm_m3_Hwi_resetVectors; #elif defined(__IAR_SYSTEMS_ICC__) SCB->VTOR = (uint32_t) &__intvec_start__; #endif return(1); }
It builds fine when reset and vector configuration from tirtos builds config is removed and keeping the starting main address to 0x00000000 from 0x00008000.
Any help would be highly appreciated.
Regards,
Keshav Aggarwal