Skip to content

Commit 6500330

Browse files
authored
Improve heap definition (#528)
1 parent e186d4b commit 6500330

File tree

12 files changed

+27
-54
lines changed

12 files changed

+27
-54
lines changed

targets/CMSIS-OS/ChibiOS/MBN_QUAIL/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ nf_set_linker_options(${NANOCLR_PROJECT_NAME}.elf TRUE)
174174
###################################################
175175
# the size of the CLR managed heap is defined here
176176
###################################################
177-
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x0")
178-
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x9000")
177+
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__crt_heap_size__=0x400")
178+
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x800,--defsym=__crt_heap_size__=0x1800")
179179

180180
# generate output files
181181
nf_generate_build_output_files(${NANOBOOTER_PROJECT_NAME}.elf)

targets/CMSIS-OS/ChibiOS/NETDUINO3_WIFI/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ nf_set_linker_options(${NANOCLR_PROJECT_NAME}.elf TRUE)
174174
###################################################
175175
# the size of the CLR managed heap is defined here
176176
###################################################
177-
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x0")
178-
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x9000")
177+
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__crt_heap_size__=0x400")
178+
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x800,--defsym=__crt_heap_size__=0x1800")
179179

180180
# generate output files
181181
nf_generate_build_output_files(${NANOBOOTER_PROJECT_NAME}.elf)

targets/CMSIS-OS/ChibiOS/ST_NUCLEO144_F746ZG/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ nf_set_linker_options(${NANOCLR_PROJECT_NAME}.elf TRUE)
174174
###################################################
175175
# the size of the CLR managed heap is defined here
176176
###################################################
177-
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x0")
178-
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x2B000")
177+
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__crt_heap_size__=0x400")
178+
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x800,--defsym=__crt_heap_size__=0x1800")
179179

180180
# generate output files
181181
nf_generate_build_output_files(${NANOBOOTER_PROJECT_NAME}.elf)

targets/CMSIS-OS/ChibiOS/ST_NUCLEO144_F746ZG/nanoCLR/STM32F746xG_CLR.ld

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -119,17 +119,8 @@ SECTIONS
119119
/* Code rules inclusion.*/
120120
INCLUDE rules_code.ld
121121

122-
/*
123-
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
124-
// rules_clr.ld have to be included **BEFORE** the rules_data.ld
125-
// this is because the CRT heap (processed in rules_data.ld) takes up all the remaining free space of the memory region where it's assigned
126-
// the size of the managed heap (processed in rules_clr.ld) is set in each target configuration
127-
// in case it shares the same region as the CRT heap it won't have any room left if the CRT heap is assigned first
128-
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
129-
/*
122+
/* Data rules inclusion.*/
123+
INCLUDE rules_data.ld
130124

131125
/* nanoCLR rules inclusion.*/
132126
INCLUDE rules_clr.ld
133-
134-
/* Data rules inclusion.*/
135-
INCLUDE rules_data.ld

targets/CMSIS-OS/ChibiOS/ST_NUCLEO64_F091RC/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ nf_set_linker_options(${NANOCLR_PROJECT_NAME}.elf TRUE)
174174
###################################################
175175
# the size of the CLR managed heap is defined here
176176
###################################################
177-
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x0")
178-
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x2000")
177+
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__crt_heap_size__=0x400")
178+
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x800,--defsym=__crt_heap_size__=0x1800")
179179

180180
# generate output files
181181
nf_generate_build_output_files(${NANOBOOTER_PROJECT_NAME}.elf)

targets/CMSIS-OS/ChibiOS/ST_STM32F429I_DISCOVERY/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ nf_set_linker_options(${NANOCLR_PROJECT_NAME}.elf TRUE)
174174
###################################################
175175
# the size of the CLR managed heap is defined here
176176
###################################################
177-
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x0")
178-
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x29600")
177+
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__crt_heap_size__=0x400")
178+
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x800,--defsym=__crt_heap_size__=0x1800")
179179

180180
# generate output files
181181
nf_generate_build_output_files(${NANOBOOTER_PROJECT_NAME}.elf)

targets/CMSIS-OS/ChibiOS/ST_STM32F4_DISCOVERY/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ nf_set_linker_options(${NANOCLR_PROJECT_NAME}.elf TRUE)
174174
###################################################
175175
# the size of the CLR managed heap is defined here
176176
###################################################
177-
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x0")
178-
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x196C0")
177+
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__crt_heap_size__=0x400")
178+
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x800,--defsym=__crt_heap_size__=0x1800")
179179

180180
# generate output files
181181
nf_generate_build_output_files(${NANOBOOTER_PROJECT_NAME}.elf)

targets/CMSIS-OS/ChibiOS/ST_STM32F769I_DISCOVERY/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,8 @@ nf_set_linker_options(${NANOCLR_PROJECT_NAME}.elf TRUE)
174174
###################################################
175175
# the size of the CLR managed heap is defined here
176176
###################################################
177-
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x0")
178-
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__clr_managed_heap_size__=0x4B000")
177+
set_property(TARGET ${NANOBOOTER_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x400,--defsym=__crt_heap_size__=0x400")
178+
set_property(TARGET ${NANOCLR_PROJECT_NAME}.elf APPEND_STRING PROPERTY LINK_FLAGS ",--defsym=__main_stack_size__=0x400,--defsym=__process_stack_size__=0x800,--defsym=__crt_heap_size__=0x1800")
179179

180180
# generate output files
181181
nf_generate_build_output_files(${NANOBOOTER_PROJECT_NAME}.elf)

targets/CMSIS-OS/ChibiOS/ST_STM32F769I_DISCOVERY/nanoCLR/STM32F76xx_CLR.ld

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -119,17 +119,8 @@ SECTIONS
119119
/* Code rules inclusion.*/
120120
INCLUDE rules_code.ld
121121

122-
/*
123-
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
124-
// rules_clr.ld have to be included **BEFORE** the rules_data.ld
125-
// this is because the CRT heap (processed in rules_data.ld) takes up all the remaining free space of the memory region where it's assigned
126-
// the size of the managed heap (processed in rules_clr.ld) is set in each target configuration
127-
// in case it shares the same region as the CRT heap it won't have any room left if the CRT heap is assigned first
128-
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
129-
/*
122+
/* Data rules inclusion.*/
123+
INCLUDE rules_data.ld
130124

131125
/* nanoCLR rules inclusion.*/
132126
INCLUDE rules_clr.ld
133-
134-
/* Data rules inclusion.*/
135-
INCLUDE rules_data.ld

targets/CMSIS-OS/ChibiOS/common/rules.ld

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,8 @@ INCLUDE rules_stacks.ld
1212
/* Code rules inclusion.*/
1313
INCLUDE rules_code.ld
1414

15-
16-
/*
17-
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
18-
// rules_clr.ld have to be included **BEFORE** the rules_data.ld
19-
// this is because the CRT heap (processed in rules_data.ld) takes up all the remaining free space of the memory region where it's assigned
20-
// the size of the managed heap (processed in rules_clr.ld) is set in each target configuration
21-
// in case it shares the same region as the CRT heap it won't have any room left if the CRT heap is assigned first
22-
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
23-
/*
15+
/* Data rules inclusion.*/
16+
INCLUDE rules_data.ld
2417

2518
/* nanoCLR rules inclusion.*/
2619
INCLUDE rules_clr.ld
27-
28-
/* Data rules inclusion.*/
29-
INCLUDE rules_data.ld

0 commit comments

Comments
 (0)