Merge pull request #4872 from aozima/aozima_memheap_develop

优化memheap内存管理:1.自动多块粘合可配置;
This commit is contained in:
Bernard Xiong 2021-09-27 14:16:17 +08:00 committed by GitHub
commit 173913b96e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 4 deletions

View File

@ -268,11 +268,18 @@ menu "Memory Management"
help
Using static memory fixed partition
config RT_USING_MEMHEAP
menuconfig RT_USING_MEMHEAP
bool "Using memory heap object"
default n
help
Using memory heap object to manage dynamic memory heap.
if RT_USING_MEMHEAP
if RT_USING_MEMHEAP_AS_HEAP
config RT_USING_MEMHEAP_AUTO_BINDING
bool "Use all of memheap objects as heap"
default y
endif
endif
choice
prompt "Dynamic Memory Management"
@ -289,7 +296,7 @@ menu "Memory Management"
if RT_USING_MEMHEAP
config RT_USING_MEMHEAP_AS_HEAP
bool "Use all of memheap objects as heap"
bool "Use memheap objects as heap"
endif
config RT_USING_USERHEAP

View File

@ -852,6 +852,7 @@ void *rt_malloc(rt_size_t size)
/* try to allocate in system heap */
ptr = rt_memheap_alloc(&_heap, size);
#ifdef RT_USING_MEMHEAP_AUTO_BINDING
if (ptr == RT_NULL)
{
struct rt_object *object;
@ -881,6 +882,7 @@ void *rt_malloc(rt_size_t size)
break;
}
}
#endif /* RT_USING_MEMHEAP_AUTO_BINDING */
#ifdef RT_USING_MEMTRACE
if (ptr == RT_NULL)