]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32L1/TARGET_NUCLEO_L152RE/TOOLCHAIN_IAR/stm32l152xe.icf
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_STM / TARGET_STM32L1 / TARGET_NUCLEO_L152RE / TOOLCHAIN_IAR / stm32l152xe.icf
1 /* [ROM = 64kb = 0x10000] */
2 define symbol __intvec_start__     = 0x08000000;
3 define symbol __region_ROM_start__ = 0x08000000;
4 define symbol __region_ROM_end__   = 0x0807FFFF;
5
6 /* [RAM = 80kb = 0x14000] Vector table dynamic copy: 73 vectors = 292 bytes (0x124) to be reserved in RAM */
7 define symbol __NVIC_start__          = 0x20000000;
8 define symbol __NVIC_end__            = 0x20000127; /* Add 4 more bytes to be aligned on 8 bytes */
9 define symbol __region_RAM_start__    = 0x20000128;
10 define symbol __region_RAM_end__      = 0x20013FFF;
11
12 /* Memory regions */
13 define memory mem with size = 4G;
14 define region ROM_region = mem:[from __region_ROM_start__ to __region_ROM_end__];
15 define region RAM_region = mem:[from __region_RAM_start__ to __region_RAM_end__];
16
17 /* Stack and Heap */
18 /*Heap 1/4 of ram and stack 1/8*/
19 define symbol __size_cstack__ = 0x2800;
20 define symbol __size_heap__   = 0x5000;
21 define block CSTACK    with alignment = 8, size = __size_cstack__   { };
22 define block HEAP      with alignment = 8, size = __size_heap__     { };
23 define block STACKHEAP with fixed order { block HEAP, block CSTACK };
24
25 initialize by copy with packing = zeros { readwrite };
26 do not initialize  { section .noinit };
27
28 place at address mem:__intvec_start__ { readonly section .intvec };
29
30 place in ROM_region   { readonly };
31 place in RAM_region   { readwrite, block STACKHEAP };