summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2020-11-25 16:43:58 +0800
committerGitHub <[email protected]>2020-11-25 16:43:58 +0800
commit4fc7fbbd35b358f047d26f02de70b4b2410f5ff8 (patch)
tree9bd8b7a6a10a693d73cba2cb4eb7f5129aecb70a
parenta83ab9e21d090fe153a74db69a162507e0712987 (diff)
parent077ac68661dc199946aaa37918d9bcc2db8e831e (diff)
Merge pull request #4061 from yangjie11/malloc
[src][SConscript] Provide user heap options
-rw-r--r--src/Kconfig14
-rw-r--r--src/SConscript3
2 files changed, 16 insertions, 1 deletions
diff --git a/src/Kconfig b/src/Kconfig
index 63a7a67887..803c827e51 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -270,6 +270,18 @@ menu "Memory Management"
config RT_USING_MEMHEAP_AS_HEAP
bool "Use all of memheap objects as heap"
endif
+
+ config RT_USING_USERHEAP
+ bool "Use user heap"
+ help
+ If this option is selected, please implement these functions:
+ rt_malloc(), rt_malloc_sethook()
+ rt_free(), rt_free_sethook()
+ rt_calloc(), rt_realloc()
+ rt_system_heap_init()
+
+ And if FinSH is used at the same time, please implement list_mem()
+
endchoice
if RT_USING_SMALL_MEM
@@ -294,7 +306,7 @@ menu "Memory Management"
default y if RT_USING_SMALL_MEM
default y if RT_USING_SLAB
default y if RT_USING_MEMHEAP_AS_HEAP
-
+ default y if RT_USING_USERHEAP
endmenu
menu "Kernel Device Object"
diff --git a/src/SConscript b/src/SConscript
index c03d997cd1..c3a7775d75 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -23,6 +23,9 @@ if GetDepend('RT_USING_MEMHEAP') == False:
if GetDepend('RT_USING_MEMHEAP_AS_HEAP'):
SrcRemove(src, ['mem.c'])
+if GetDepend('RT_USING_USERHEAP'):
+ SrcRemove(src, ['mem.c', 'slab.c'])
+
if GetDepend('RT_USING_DEVICE') == False:
SrcRemove(src, ['device.c'])