Example code in C
extern char __data_lmastart; extern char __data_start; extern char _edata;
size = &_edata - &__data_start; MEMCPY(&__data_start, &__data_lmastart, size);
size = &_end - &__bss_start; MEMSET(&__bss_start, 0, size); ---------------------------------------------------------------
In Sag:
USER_SECTIONS .vector SDRAM 0x00000000 0x00800000 ; address base 0x00000000, max_size=8M { EXEC 0x00000000 { VAR _ILM_BASE = 0x00600000 ; ILM base address VAR _DLM_BASE = 0x00700000 ; DLM base address VAR _ILM_SIZE = 0x00010000 ; 64Kb VAR _DLM_SIZE = 0x00010000 ; 64Kb * (+ISR,+RO) LOADADDR __data_lmastart ADDR __data_start * (+RW) ADDR _edata ADDR _lmaend ADDR __bss_start * (+ZI) ADDR _end STACK = 0x00800000 } }
|