WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
malloc.c 文件参考
#include <stddef.h>
#include "securec.h"
#include "debug_print.h"
#include "errcode.h"
#include "malloc.h"
malloc.c 的引用(Include)关系图:

结构体

struct  malloc_state
 

宏定义

#define ALIGN4   0x4
 
#define DOUBLE   2
 

类型定义

typedef enum malloc_type malloc_type_t
 
typedef uint16_t malloc_type_t_uint16
 
typedef struct malloc_state malloc_state_t
 

枚举

enum  malloc_type { EXT_NOTMALLOC = 0x7074 , EXT_HAVEMALLOC = 0x6C6C }
 

函数

uint32_t malloc_register_funcs (const malloc_funcs *funcs)
 
malloc_funcsmalloc_get_funcs (void)
 
void malloc_init (uintptr_t heap_start_addr, uintptr_t heap_end_addr)
 动态内存管理模块初始化接口,需要调用uapi_register_malloc接口先注册后才能使用。
 
void * malloc (size_t size)
 申请动态内存,需要调用uapi_register_malloc接口先注册后才能使用。
 
void free (void *addr)
 释放动态内存,需要调用uapi_register_malloc接口先注册后才能使用。
 
void rom_malloc_init (uint32_t heap_start_addr, uint32_t heap_end_addr)
 
void * rom_malloc (uint32_t size, uint32_t caller)
 
uint32_t rom_free (void *addr)
 
void print_mem_info (void)
 

变量

malloc_dfx_t g_st_dfx = { 0 }
 
malloc_funcs g_malloc_func = { 0 }
 

宏定义说明

◆ ALIGN4

#define ALIGN4   0x4

◆ DOUBLE

#define DOUBLE   2

类型定义说明

◆ malloc_state_t

typedef struct malloc_state malloc_state_t

◆ malloc_type_t

typedef enum malloc_type malloc_type_t

◆ malloc_type_t_uint16

typedef uint16_t malloc_type_t_uint16

枚举类型说明

◆ malloc_type

枚举值
EXT_NOTMALLOC 
EXT_HAVEMALLOC 

函数说明

◆ free()

void free ( void *  addr)

释放动态内存,需要调用uapi_register_malloc接口先注册后才能使用。

描述:
释放动态内存
注意
无。
参数
addr[IN] 类型 #void* 需要释放的内存地址指针。注意不要多次释放同一个内存地址。
返回值
EXT_ERR_SUCCESS释放内存成功。
EXT_ERR_FAILURE释放内存错误。
  • malloc.h: 该接口声明所在的头文件.
参见
uapi_register_malloc

◆ malloc()

void * malloc ( size_t  size)

申请动态内存,需要调用uapi_register_malloc接口先注册后才能使用。

描述:
申请动态内存
注意
无。
参数
size[IN] 类型 #uint32_t 需要申请的内存大小
返回值
void*申请到的内存指针,如果申请失败则返回HI_NULL
  • malloc.h: 该接口声明所在的头文件.
参见
uapi_register_malloc

◆ malloc_get_funcs()

malloc_funcs * malloc_get_funcs ( void  )

◆ malloc_init()

void malloc_init ( uintptr_t  heap_start_addr,
uintptr_t  heap_end_addr 
)

动态内存管理模块初始化接口,需要调用uapi_register_malloc接口先注册后才能使用。

描述:
使用动态内存前,需要调用1次本接口进行初始化
注意
无。
参数
heap_start_addr[IN] 类型 uintptr_t 堆管理起始地址。
heap_end_addr[IN] 类型 uintptr_t 堆管理结束地址。
check_sum[IN] 类型 #uint32_t 校验值,前两个参数的异或结果。
返回值
  • malloc.h: 该接口声明所在的头文件.
参见
uapi_register_malloc

◆ malloc_register_funcs()

uint32_t malloc_register_funcs ( const malloc_funcs funcs)

◆ print_mem_info()

void print_mem_info ( void  )

◆ rom_free()

uint32_t rom_free ( void *  addr)

◆ rom_malloc()

void * rom_malloc ( uint32_t  size,
uint32_t  caller 
)

◆ rom_malloc_init()

void rom_malloc_init ( uint32_t  heap_start_addr,
uint32_t  heap_end_addr 
)

变量说明

◆ g_malloc_func

malloc_funcs g_malloc_func = { 0 }

◆ g_st_dfx

malloc_dfx_t g_st_dfx = { 0 }

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2023-2023. All rights reserved.

Description: Malloc function.
History:
2023-2-14, Create file.