#ifndef _MEM_HEAP_H_ #define _MEM_HEAP_H_ #ifdef __cplusplus extern "C" { #endif typedef enum { P_MEMORY_TOTAL, P_MEMORY_UNUSED, P_MEMORY_USED, } MEMORY_TYPE; extern void *malloc(size_t size); extern void *zalloc(size_t size); extern void *calloc(size_t count, size_t size); extern void *realloc(void *rmem, size_t newsize); extern void free(void *mem); extern void *kmalloc(size_t size, int flags); extern void *vmalloc(size_t size); extern void vfree(void *addr); extern void *kzalloc(unsigned int len, int a); extern void kfree(void *p); extern void malloc_stats(void); extern void malloc_dump(); void memory_init(void); void mem_stats(void); size_t xPortGetFreeHeapSize(void); size_t xPortGetMinimumEverFreeHeapSize(void); size_t xPortGetPhysiceMemorySize(void); /* ---------------------------------------------------------------------------- */ /** * @brief :获取物理内存的大小 * * @param type: 需要获取的内存类型; * * @return : 对应类型物理内存大小 */ /* ---------------------------------------------------------------------------- */ size_t memory_get_size(MEMORY_TYPE type); /* * --Physic Memory */ void *get_physic_address(u32 page); /* * --Virtual Memory */ void *vmem_get_phy_adr(void *vaddr); #ifdef __cplusplus } #endif #endif /* _MEM_HEAP_H_ */