Skip to content

Commit 8ee29bb

Browse files
author
Deepika
committed
Add Dynamic heap support to IAR
Two new block properties available in linker configuration files: "expanding size" and "minimum size" for IAR 8.11.2 and above Sample: define block HEAP with expanding size, minimum size = 16K, alignment = 8 {}; This block will expand to consume all remaining available space in the range where it is placed. If several such blocks end up in the same range, they will share the remaining space. Cannot place a block with expanding size inside another block with expanding size, inside a block with maximum size, or inside an overlay.
1 parent 3da74f9 commit 8ee29bb

File tree

35 files changed

+38
-35
lines changed

35 files changed

+38
-35
lines changed

targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M0/device/TOOLCHAIN_IAR/MPS2.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ initialize by copy { readwrite };
6363
do not initialize { section .noinit };
6464

6565
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
66-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
66+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
6767

6868
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
6969
place in ROM_region { readonly };

targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M0P/device/TOOLCHAIN_IAR/MPS2.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ initialize by copy { readwrite };
6363
do not initialize { section .noinit };
6464

6565
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
66-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
66+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
6767

6868
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
6969
place in ROM_region { readonly };

targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M3/device/TOOLCHAIN_IAR/MPS2.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ initialize by copy { readwrite };
6363
do not initialize { section .noinit };
6464

6565
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
66-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
66+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
6767

6868
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
6969
place in ROM_region { readonly };

targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M4/device/TOOLCHAIN_IAR/MPS2.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ initialize by copy { readwrite };
6363
do not initialize { section .noinit };
6464

6565
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
66-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
66+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
6767

6868
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
6969
place in ROM_region { readonly };

targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M7/device/TOOLCHAIN_IAR/MPS2.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ initialize by copy { readwrite };
6363
do not initialize { section .noinit };
6464

6565
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
66-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
66+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
6767

6868
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
6969
place in ROM_region { readonly };

targets/TARGET_Analog_Devices/TARGET_ADUCM302X/TARGET_ADUCM3029/TOOLCHAIN_IAR/ADuCM3029.icf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ define region RAM_bank1_region = mem:[from 0x20000200 size 0x00003E00
5454
define region RAM_bank2_region = mem:[from 0x20004000 size 0x00004000]
5555
| mem:[from 0x20040000 size 0x00007000];
5656
define block CSTACK with alignment = 16, size = MBED_BOOT_STACK_SIZE { };
57-
define block HEAP with alignment = 16, size = 0x2000 { };
57+
define block HEAP with expanding size, minimum size = 0x2000, alignment = 16 { };
58+
5859
do not initialize { section .noinit };
5960
initialize by copy { rw };
6061
place at start of ROM_PAGE0_INTVEC { ro section .vectors };

targets/TARGET_Analog_Devices/TARGET_ADUCM4X50/TARGET_ADUCM4050/TOOLCHAIN_IAR/ADuCM4050.icf

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,10 @@ define region ROM_REGION = mem:[from MBED_APP_START+ADUCM_SECTO
5353
define region RAM_bank1_region = mem:[from 0x20040000 size 0x00008000];
5454
define region RAM_bank2_region = mem:[from 0x20000200 size 0x00006E00]
5555
| mem:[from 0x20048000 size 0x00010000];
56+
5657
define block CSTACK with alignment = 16, size = MBED_BOOT_STACK_SIZE { };
57-
define block HEAP with alignment = 16, size = 0x6000 { };
58+
define block HEAP with expanding size, minimum size = 0x6000, alignment = 16 { };
59+
5860
do not initialize { section .noinit };
5961
initialize by copy { rw };
6062
place at start of ROM_PAGE0_INTVEC { ro section .vectors };

targets/TARGET_Cypress/TARGET_PSOC6/TARGET_CY8C63XX/TARGET_MCU_PSOC6_M0/device/TOOLCHAIN_IAR/cy8c6xx7_cm0plus.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ define region IRAM1_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFED
148148

149149
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
150150
define block PROC_STACK with alignment = 8, size = __ICFEDIT_size_proc_stack__ { };
151-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
151+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
152152
define block HSTACK {block HEAP, block PROC_STACK, last block CSTACK};
153153
define block RO {first section .intvec, readonly};
154154

targets/TARGET_Cypress/TARGET_PSOC6/TARGET_CY8C63XX/TARGET_MCU_PSOC6_M4/device/TOOLCHAIN_IAR/cy8c6xx7_cm4_dual.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ define region IRAM1_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFED
148148

149149
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
150150
define block PROC_STACK with alignment = 8, size = __ICFEDIT_size_proc_stack__ { };
151-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
151+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
152152
define block HSTACK {block HEAP, block PROC_STACK, last block CSTACK};
153153
define block RO {first section .intvec, readonly};
154154

targets/TARGET_GigaDevice/TARGET_GD32F30X/TARGET_GD32F307VG/device/TOOLCHAIN_IAR/gd32f307vg.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFED
2727
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
2828

2929
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
30-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
30+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
3131

3232
initialize by copy { readwrite };
3333
do not initialize { section .noinit };

targets/TARGET_Maxim/TARGET_MAX32620C/device/TOOLCHAIN_IAR/MAX32620.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2222
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2323
define symbol __size_heap__ = 0xF000;
2424
define block CSTACK with alignment = 8, size = __size_cstack__ { };
25-
define block HEAP with alignment = 8, size = __size_heap__ { };
25+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
2626

2727
initialize by copy { readwrite };
2828
do not initialize { section .noinit };

targets/TARGET_Maxim/TARGET_MAX32625/device/TOOLCHAIN_IAR/TARGET_MAX32625_BOOT/MAX32625.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2929
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
3030
define symbol __size_heap__ = 0xA000;
3131
define block CSTACK with alignment = 8, size = __size_cstack__ { };
32-
define block HEAP with alignment = 8, size = __size_heap__ { };
32+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
3333

3434
initialize by copy { readwrite };
3535
do not initialize { section .noinit };

targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52832/device/TOOLCHAIN_IAR/nRF52832.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFED
5656
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
5757

5858
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
59-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
59+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
6060

6161
initialize by copy { readwrite };
6262
do not initialize { section .nvictable };

targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF52/TARGET_MCU_NRF52840/device/TOOLCHAIN_IAR/nRF52840.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFED
6060
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
6161

6262
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
63-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
63+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
6464

6565
initialize by copy { readwrite };
6666
do not initialize { section .nvictable };

targets/TARGET_NUVOTON/TARGET_M2351/device/TOOLCHAIN_IAR/M2351.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFED
107107
define region IRAM_region = mem:[from __ICFEDIT_region_IRAM_start__ to __ICFEDIT_region_IRAM_end__];
108108

109109
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
110-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
110+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
111111
/* NOTE: Vector table base requires to be aligned to the power of vector table size. Give a safe value here. */
112112
define block IRAMVEC with alignment = 1024, size = 4 * (16 + 102) { };
113113

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MCU_LPC546XX/device/TOOLCHAIN_IAR/LPC54628J512.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ define region CSTACK_region = mem:[from m_data_end-__size_cstack__+1 to m_data_e
9595
define region m_interrupts_ram_region = mem:[from m_interrupts_ram_start to m_interrupts_ram_end];
9696

9797
define block CSTACK with alignment = 8, size = __size_cstack__ { };
98-
define block HEAP with alignment = 8, size = __size_heap__ { };
98+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
9999
define block RW { readwrite };
100100
define block ZI { zi };
101101

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/device/TOOLCHAIN_IAR/MIMXRT1052xxxxx.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ define region NCACHE_region = mem:[from m_ncache_start to m_ncache_end];
125125
define region m_interrupts_ram_region = mem:[from m_interrupts_ram_start to m_interrupts_ram_end];
126126

127127
define block CSTACK with alignment = 8, size = __size_cstack__ { };
128-
define block HEAP with alignment = 8, size = __size_heap__ { };
128+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
129129
define block RW { first readwrite, section m_usb_dma_init_data };
130130
define block ZI with alignment = 32 { first zi, section m_usb_dma_noninit_data };
131131
define block NCACHE_VAR with size = 0x200000 , alignment = 0x100000 { section NonCacheable , section NonCacheable.init };

targets/TARGET_RDA/TARGET_UNO_91H/device/TOOLCHAIN_IAR/TARGET_UNO_91H/RDA5981C.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ define region AES_REGION = mem:[from AES_BASE to AES_END];
5252
define region WLAN_REGION = mem:[from WLAN_BASE to WLAN_END];
5353

5454
define block CSTACK with alignment = 8, size = CSTACK_SIZE { };
55-
define block HEAP with alignment = 8, size = HEAP_SIZE { };
55+
define block HEAP with expanding size, minimum size = HEAP_SIZE, alignment = 8 { };
5656
define block RW { readwrite };
5757
define block ZI { zi };
5858

targets/TARGET_RENESAS/TARGET_RZ_A1XX/TARGET_GR_LYCHEE/device/TOOLCHAIN_IAR/MBRZA1LU.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { };
5555
define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };
5656
define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };
5757
define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };
58-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
58+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
5959

6060
initialize by copy { readwrite };
6161
do not initialize { section .noinit };

targets/TARGET_STM/TARGET_STM32F3/TARGET_STM32F303xC/device/TOOLCHAIN_IAR/stm32f303xc.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2626
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2727
define symbol __size_heap__ = 0x2000;
2828
define block CSTACK with alignment = 8, size = __size_cstack__ { };
29-
define block HEAP with alignment = 8, size = __size_heap__ { };
29+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
3030
define block STACKHEAP with fixed order { block HEAP, block CSTACK };
3131

3232
initialize by copy { readwrite };

targets/TARGET_STM/TARGET_STM32F4/TARGET_MTB_MTS_DRAGONFLY/device/TOOLCHAIN_IAR/stm32f411xe.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2121
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2222
define symbol __size_heap__ = 0x10000;
2323
define block CSTACK with alignment = 8, size = __size_cstack__ { };
24-
define block HEAP with alignment = 8, size = __size_heap__ { };
24+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
2525
define block STACKHEAP with fixed order { block HEAP, block CSTACK };
2626

2727
initialize by copy with packing = zeros { readwrite };

targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F407xG/device/TOOLCHAIN_IAR/stm32f407xx.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFED
2323
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
2424

2525
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
26-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
26+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
2727

2828
initialize by copy { readwrite };
2929
do not initialize { section .noinit };

targets/TARGET_STM/TARGET_STM32L0/TARGET_STM32L0x2xZ/device/TOOLCHAIN_IAR/stm32l082xZ.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2222
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2323
define symbol __size_heap__ = 0x800;
2424
define block CSTACK with alignment = 8, size = __size_cstack__ { };
25-
define block HEAP with alignment = 8, size = __size_heap__ { };
25+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
2626
define block STACKHEAP with fixed order { block HEAP, block CSTACK };
2727

2828
initialize by copy with packing = zeros { readwrite };

targets/TARGET_STM/TARGET_STM32L1/TARGET_MTB_MTS_XDOT/device/TOOLCHAIN_IAR/stm32l152xc.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2323
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2424
define symbol __size_heap__ = 0x800;
2525
define block CSTACK with alignment = 8, size = __size_cstack__ { };
26-
define block HEAP with alignment = 8, size = __size_heap__ { };
26+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
2727
define block STACKHEAP with fixed order { block HEAP, block CSTACK };
2828

2929
initialize by copy with packing = zeros { readwrite };

targets/TARGET_STM/TARGET_STM32L1/TARGET_MTB_RAK811/device/TOOLCHAIN_IAR/stm32l152xba.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2323
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2424
define symbol __size_heap__ = 0x800;
2525
define block CSTACK with alignment = 8, size = __size_cstack__ { };
26-
define block HEAP with alignment = 8, size = __size_heap__ { };
26+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
2727
define block STACKHEAP with fixed order { block HEAP, block CSTACK };
2828

2929
initialize by copy with packing = zeros { readwrite };

targets/TARGET_STM/TARGET_STM32L4/TARGET_MTS_DRAGONFLY_L471QG/device/TOOLCHAIN_IAR/stm32l471xx.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2828
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2929
define symbol __size_heap__ = 0x8000;
3030
define block CSTACK with alignment = 8, size = __size_cstack__ { };
31-
define block HEAP with alignment = 8, size = __size_heap__ { };
31+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
3232

3333
initialize by copy with packing = zeros { readwrite };
3434
do not initialize { section .noinit };

targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L433xC/device/TOOLCHAIN_IAR/stm32l433xx.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2525
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2626
define symbol __size_heap__ = 0x4000;
2727
define block CSTACK with alignment = 8, size = __size_cstack__ { };
28-
define block HEAP with alignment = 8, size = __size_heap__ { };
28+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
2929
define block STACKHEAP with fixed order { block HEAP, block CSTACK };
3030

3131
initialize by copy with packing = zeros { readwrite };

targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L443xC/device/TOOLCHAIN_IAR/stm32l443xx.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2828
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2929
define symbol __size_heap__ = 0x4000;
3030
define block CSTACK with alignment = 8, size = __size_cstack__ { };
31-
define block HEAP with alignment = 8, size = __size_heap__ { };
31+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
3232
define block STACKHEAP with fixed order { block HEAP, block CSTACK };
3333

3434
initialize by copy with packing = zeros { readwrite };

targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L496xG/device/TOOLCHAIN_IAR/stm32l496xx.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2525
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2626
define symbol __size_heap__ = 0xa000;
2727
define block CSTACK with alignment = 8, size = __size_cstack__ { };
28-
define block HEAP with alignment = 8, size = __size_heap__ { };
28+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
2929
define block STACKHEAP with fixed order { block HEAP, block CSTACK };
3030

3131
initialize by copy with packing = zeros { readwrite };

targets/TARGET_STM/TARGET_STM32L4/TARGET_STM32L4R5xI/device/TOOLCHAIN_IAR/stm32l4r5xx.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
2626
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
2727
define symbol __size_heap__ = 0x20000; /* 128KB */
2828
define block CSTACK with alignment = 8, size = __size_cstack__ { };
29-
define block HEAP with alignment = 8, size = __size_heap__ { };
29+
define block HEAP with expanding size, minimum size = __size_heap__, alignment = 8 { };
3030
define block STACKHEAP with fixed order { block HEAP, block CSTACK };
3131

3232
initialize by copy with packing = zeros { readwrite };

targets/TARGET_Silicon_Labs/TARGET_EFM32/TARGET_EFM32GG11/device/TOOLCHAIN_IAR/efm32gg11b820f2048gl192.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFED
2525
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
2626

2727
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
28-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
28+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
2929

3030
initialize by copy { readwrite };
3131
do not initialize { section .noinit };

targets/TARGET_TOSHIBA/TARGET_TMPM3H6/device/TOOLCHAIN_IAR/tmpm3h6fwfg.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ define region BRAM_region = mem:[from __BRAM_start__ to __BRAM_end__ ];
2929
define region DFLASH_region = mem:[from __DFLASH_start__ to __DFLASH_end__];
3030

3131
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
32-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
32+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
3333

3434
initialize by copy { readwrite };
3535
do not initialize { section .noinit };

targets/TARGET_TOSHIBA/TARGET_TMPM3HQ/device/TOOLCHAIN_IAR/tmpm3hqfdfg.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ define region BRAM_region = mem:[from __BRAM_start__ to __BRAM_end__ ];
3232
define region DFLASH_region = mem:[from __DFLASH_start__ to __DFLASH_end__];
3333

3434
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
35-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
35+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
3636

3737
initialize by copy { readwrite };
3838
do not initialize { section .noinit };

targets/TARGET_TOSHIBA/TARGET_TMPM46B/device/TOOLCHAIN_IAR/tmpm46bf10fg.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFED
2525
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
2626

2727
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
28-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
28+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
2929

3030
define block FLASH_CODE_ROM {section FLASH_ROM_init object flash_api.o};
3131
define block FLASH_CODE_RAM {section FLASH_ROM object flash_api.o};

targets/TARGET_TOSHIBA/TARGET_TMPM4G9/device/TOOLCHAIN_IAR/tmpm4g9f15.icf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFED
2525
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
2626

2727
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
28-
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
28+
define block HEAP with expanding size, minimum size = __ICFEDIT_size_heap__, alignment = 8 { };
2929

3030
initialize by copy { readwrite };
3131
do not initialize { section .noinit };

0 commit comments

Comments
 (0)