WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
malloc.h
浏览该文件的文档.
1
10#ifndef __MALLOC_ROM_H__
11#define __MALLOC_ROM_H__
12
13#include <stdint.h>
14#include <stddef.h>
15#include "common_def.h"
16
17typedef struct malloc_dfx {
18 uint32_t heap_malloc_size; /* 已经申请的堆空间总大小 */
19 uint32_t heap_free_size; /* 剩余堆空间总大小 */
20 uint32_t heap_size; /* 堆空间总大小 */
21 uintptr_t heap_start_addr; /* 堆空间起始地址 */
22 uintptr_t heap_end_addr; /* 堆空间结束地址 */
23 uint32_t start_status; /* 启动状态维测,结合set_start_status函数使用 */
25
26typedef void (*free_func)(void *addr);
27typedef void *(*malloc_func)(uint32_t size, uint32_t caller);
28typedef void (*malloc_init_func)(uint32_t heap_start_addr, uint32_t heap_end_addr);
29
30typedef struct {
31 malloc_init_func init; /* 初始化堆内存管理接口 */
32 malloc_func malloc; /* 申请堆内存接口 */
33 free_func free; /* 释放堆内存接口 */
35
37uint32_t malloc_register_funcs(const malloc_funcs *funcs);
55void malloc_init(uintptr_t heap_start_addr, uintptr_t heap_end_addr);
56
72void *malloc(size_t size);
73
90void free(void *addr);
91
92void rom_malloc_init(uint32_t heap_start_addr, uint32_t heap_end_addr);
93void *rom_malloc(uint32_t size, uint32_t caller);
94uint32_t rom_free(void *addr);
95void print_mem_info(void);
96#endif
struct malloc_dfx malloc_dfx_t
uint32_t rom_free(void *addr)
Definition malloc.c:195
void free(void *addr)
释放动态内存,需要调用uapi_register_malloc接口先注册后才能使用。
Definition malloc.c:68
void(* free_func)(void *addr)
Definition malloc.h:26
void(* malloc_init_func)(uint32_t heap_start_addr, uint32_t heap_end_addr)
Definition malloc.h:28
void * malloc(size_t size)
申请动态内存,需要调用uapi_register_malloc接口先注册后才能使用。
Definition malloc.c:59
void rom_malloc_init(uint32_t heap_start_addr, uint32_t heap_end_addr)
Definition malloc.c:77
void malloc_init(uintptr_t heap_start_addr, uintptr_t heap_end_addr)
动态内存管理模块初始化接口,需要调用uapi_register_malloc接口先注册后才能使用。
Definition malloc.c:54
uint32_t malloc_register_funcs(const malloc_funcs *funcs)
Definition malloc.c:43
malloc_funcs * malloc_get_funcs(void)
Definition malloc.c:49
void *(* malloc_func)(uint32_t size, uint32_t caller)
Definition malloc.h:27
void print_mem_info(void)
Definition malloc.c:218
void * rom_malloc(uint32_t size, uint32_t caller)
Definition malloc.c:125
Definition malloc.h:17
uintptr_t heap_end_addr
Definition malloc.h:22
uint32_t start_status
Definition malloc.h:23
uintptr_t heap_start_addr
Definition malloc.h:21
uint32_t heap_size
Definition malloc.h:20
uint32_t heap_malloc_size
Definition malloc.h:18
uint32_t heap_free_size
Definition malloc.h:19
Definition malloc.h:30
free_func free
Definition malloc.h:33
malloc_func malloc
Definition malloc.h:32
malloc_init_func init
Definition malloc.h:31
unsigned int uintptr_t
Definition td_type.h:65