SPKT

Dependents:   WAV

Committer:
phungductung
Date:
Tue Jun 04 21:51:46 2019 +0000
Revision:
0:e87aa4c49e95
libray

Who changed what in which revision?

UserRevisionLine numberNew contents of line
phungductung 0:e87aa4c49e95 1 /* [ROM = 1024kb = 0x100000] */
phungductung 0:e87aa4c49e95 2 define symbol __intvec_start__ = 0x08000000;
phungductung 0:e87aa4c49e95 3 define symbol __region_ROM_start__ = 0x08000000;
phungductung 0:e87aa4c49e95 4 define symbol __region_ROM_end__ = 0x080FFFFF;
phungductung 0:e87aa4c49e95 5
phungductung 0:e87aa4c49e95 6 /* [RAM = 320kb = 0x50000] Vector table dynamic copy: 114 vectors = 456 bytes (0x1C8) to be reserved in RAM */
phungductung 0:e87aa4c49e95 7 define symbol __NVIC_start__ = 0x20000000;
phungductung 0:e87aa4c49e95 8 define symbol __NVIC_end__ = 0x200001C7; /* Aligned on 8 bytes */
phungductung 0:e87aa4c49e95 9 define symbol __region_RAM_start__ = 0x200001C8;
phungductung 0:e87aa4c49e95 10 define symbol __region_RAM_end__ = 0x2004FFFF;
phungductung 0:e87aa4c49e95 11
phungductung 0:e87aa4c49e95 12 define symbol __region_ITCMRAM_start__ = 0x00000000;
phungductung 0:e87aa4c49e95 13 define symbol __region_ITCMRAM_end__ = 0x00003FFF;
phungductung 0:e87aa4c49e95 14
phungductung 0:e87aa4c49e95 15 /* Memory regions */
phungductung 0:e87aa4c49e95 16 define memory mem with size = 4G;
phungductung 0:e87aa4c49e95 17 define region ROM_region = mem:[from __region_ROM_start__ to __region_ROM_end__];
phungductung 0:e87aa4c49e95 18 define region RAM_region = mem:[from __region_RAM_start__ to __region_RAM_end__];
phungductung 0:e87aa4c49e95 19 define region ITCMRAM_region = mem:[from __region_ITCMRAM_start__ to __region_ITCMRAM_end__];
phungductung 0:e87aa4c49e95 20
phungductung 0:e87aa4c49e95 21 /* Stack and Heap */
phungductung 0:e87aa4c49e95 22 /*Heap 1/4 of ram and stack 1/8*/
phungductung 0:e87aa4c49e95 23 define symbol __size_cstack__ = 0x4000;
phungductung 0:e87aa4c49e95 24 define symbol __size_heap__ = 0x8000;
phungductung 0:e87aa4c49e95 25 define block CSTACK with alignment = 8, size = __size_cstack__ { };
phungductung 0:e87aa4c49e95 26 define block HEAP with alignment = 8, size = __size_heap__ { };
phungductung 0:e87aa4c49e95 27 define block STACKHEAP with fixed order { block HEAP, block CSTACK };
phungductung 0:e87aa4c49e95 28
phungductung 0:e87aa4c49e95 29 initialize by copy with packing = zeros { readwrite };
phungductung 0:e87aa4c49e95 30 do not initialize { section .noinit };
phungductung 0:e87aa4c49e95 31
phungductung 0:e87aa4c49e95 32 place at address mem:__intvec_start__ { readonly section .intvec };
phungductung 0:e87aa4c49e95 33
phungductung 0:e87aa4c49e95 34 place in ROM_region { readonly };
phungductung 0:e87aa4c49e95 35 place in RAM_region { readwrite, block STACKHEAP };