Files
player/Project/Src/Drive/Include/mymem.h
andy 045cff4cc6 整理代码
1.解决一些编译警告
2.发现png因为文件api不支持而不能使用
2025-10-18 13:58:40 +08:00

55 lines
1.1 KiB
C

#ifndef OS_MEM_H__
#define OS_MEM_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "stddef.h"
#include "stdint.h"
#ifndef NULL
#define NULL 0
#endif
// 内存管理控制器
struct _m_mallco_dev {
uint8_t *membase; // 内存池
uint16_t *memmap; // 内存管理状态表
uint8_t memrdy; // 内存管理是否就绪
};
void mymemset(void *s, uint8_t c, uint32_t count); // 设置内存
void mymemcpy(void *des, void *src, uint32_t n); // 复制内存
int mem_perused(void); // 获得内存使用率
int exmem_perused(void); // 获得内存使用率
int ccm_perused(void);
////////////////////////////////////////////////////////////////////////////////
// 用户调用函数
// 内存管理初始化
void mymem_init(void);
void myfree(void *ptr); // 内存释放
void *mymalloc(size_t size); // 内存分配
void *myrealloc(void *ptr, uint32_t size); // 重新分配内存
// 分配内存并清零
void *mycalloc(uint32_t size);
// 分配内部内存
void *mymalloc_fast(uint32_t size);
void *mymalloc_exm(uint32_t size);
// 释放CCM内存
void myfree_ccm(void *ptr);
// 分配CCM内存
void *mymalloc_ccm(uint32_t size);
#ifdef __cplusplus
}
#endif
#endif