2012-11-13 05:23 PM
linker icf file:
/*-Sizes-*/define symbol __ICFEDIT_size_cstack__ = 0x400;define symbol __ICFEDIT_size_heap__ = 0x200;/**** End of ICF editor section. ###ICF###*/define memory mem with size = 4G;define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];define region CCMRAM_region = mem:[from __ICFEDIT_region_CCMRAM_start__ to __ICFEDIT_region_CCMRAM_end__];define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };initialize by copy { section MYCODE }; initialize by copy { readwrite };do not initialize { section .noinit };place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };place in ROM_region { readonly }; place in RAM_region { readwrite, block CSTACK, block HEAP };place in CCMRAM_region { section MYCODE }; ********************** ISR Function *******************************#pragma location=''MYCODE'' void DMA1_Channel1_IRQHandler(void){ u16 i; GPIOC->BSRR = GPIO_Pin_7; DMA_ClearITPendingBit(DMA1_IT_TC1); Vtemp1 = ((u32) ADC1buf[1] * 0x66A8) >> 13; for(i=0;i<20;i++){} GPIOC->BSRR = GPIO_Pin_7<<16; }When I try to load the code using the jlink, show the error message ''Wrinting outside flash memory at address 0x10000000'' .If I change the name of the function, It is possible to load the code and when the function is called, I can confirm that the function is running inside the CCM SRAM.Has anyone already tried to run a ISR routine in the CCM SRAM using the EWARM?