Files
player/Project/Src/Drive/Include/mymem.h
2025-07-05 19:47:28 +08:00

69 lines
1.1 KiB
C

#ifndef OS_MEM_H__
#define OS_MEM_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "stm32f4xx.h"
#include "stddef.h"
#ifndef NULL
#define NULL 0
#endif
//内存管理控制器
struct _m_mallco_dev
{
u8 *membase; //内存池
u16 *memmap; //内存管理状态表
u8 memrdy; //内存管理是否就绪
};
void mymemset(void *s,u8 c,u32 count); //设置内存
void mymemcpy(void *des,void *src,u32 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,u32 size);//重新分配内存
//分配内存并清零
void *mycalloc (u32 size);
//分配内部内存
void *mymalloc_fast(u32 size) ;
void *mymalloc_exm(u32 size) ;
//释放CCM内存
void myfree_ccm(void *ptr) ;
//分配CCM内存
void *mymalloc_ccm(u32 size) ;
#ifdef __cplusplus
}
#endif
#endif