我正在开发一个嵌入式系统,该系统具有 CMSIS FreeRtos 和 heap4 作为内存管理方案。
现在我正在尝试将 mbedTls 移植到我的系统中,并且我必须提供动态分配功能,例如 alloc 和 free。
mbedTLS 需要两个函数来分配和释放内存。这些是 mbedTLS 所需的函数原型:
void * (*mbedtls_calloc)( size_t, size_t ) = MBEDTLS_PLATFORM_STD_CALLOC;
void (*mbedtls_free)( void * ) = MBEDTLS_PLATFORM_STD_FREE;
int mbedtls_platform_set_calloc_free( void * (*calloc_func)( size_t, size_t ),
void (*free_func)( void * ) )
正确使用 FreeRTOS 提供的堆的最佳方法是什么?以内存池为例。
Heap4不提供 calloc 和 free 之类的功能。那么,我应该包装哪个函数以允许 mbedTls 分配内存?
在此先感谢您的帮助。
费德里科