#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