• 堆内存管理
    • tos_mmheap_pool_add
    • tos_mmheap_pool_rmv
    • tos_mmheap_alloc
    • tos_mmheap_aligned_alloc
    • tos_mmheap_realloc
    • tos_mmheap_free

    堆内存管理

    tos_mmheap_pool_add

    1. k_err_t tos_mmheap_pool_add(void *pool_start, size_t pool_size);
    • 功能描述

    向堆内存中添加内存池。

    • 参数解释

    IN/OUT**参数名**描述[in]pool_start待添加内存池起始地址[in]pool_size待添加内存池大小

    • 返回值

    K_ERR_NONE 添加成功。

    K_ERR_MMHEAP_INVALID_POOL_ADDR 内存池起始地址非法。

    K_ERR_MMHEAP_INVALID_POOL_SIZE 内存池大小非法。

    tos_mmheap_pool_rmv

    1. k_err_t tos_mmheap_pool_rmv(void *pool_start);
    • 功能描述

    从堆内存中删除内存池。

    • 参数解释

    IN/OUT**参数名**描述[in]pool_start待删除的内存池起始地址

    • 返回值

    tos_mmheap_alloc

    1. void *tos_mmheap_alloc(size_t size);
    • 功能描述

    从堆内存中分配一块内存。

    • 参数解释

    IN/OUT**参数名**描述[in]size期望分配的内存大小

    • 返回值

    分配到的内存起始地址(返回K_NULL表示分配失败)。

    tos_mmheap_aligned_alloc

    1. void *tos_mmheap_aligned_alloc(size_t size, size_t align);
    • 功能描述

    从堆内存中分配一块内存,此内存起始地址按align参数对齐。

    • 参数解释

    IN/OUT**参数名**描述[in]size期望分配的内存大小[in]align对齐参数

    • 返回值

    分配到的内存起始地址(返回K_NULL表示分配失败)。

    tos_mmheap_realloc

    1. void *tos_mmheap_realloc(void *ptr, size_t size);
    • 功能描述

    从堆内存中重新分配一块内存。

    • 参数解释

    IN/OUT**参数名**描述[in]ptr原内存起始地址[in]size期望重新分配的内存大小

    • 返回值

    分配到的内存起始地址(返回K_NULL表示分配失败)。

    tos_mmheap_free

    1. void *tos_mmheap_free(void *ptr);
    • 功能描述

    释放一片从堆内存中分配到的内存。

    • 参数解释

    IN/OUT**参数名**描述[in]ptr待释放的内存起始地址

    • 返回值

    无。