堆内存管理

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待释放的内存起始地址

  • 返回值

无。