⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mem_port.c

📁 mem_lib,arm9的内存管理系统
💻 C
字号:
#include "aktypes.h"
#include "mem_api.h"
#include "Mem_Port.h"
#include "global.h"

static T_U8 gb_RAMBuffer[9 * 1024 * 1024 + 512*1024];

T_VOID Fwl_MallocInit(T_VOID)
{
	Ram_Initial(gb_RAMBuffer, sizeof(gb_RAMBuffer));
}

T_VOID Fwl_hMallocInit(T_VOID)
{
}

#ifdef _MEMORY_DEBUG_
T_pVOID Fwl_MallocAndTrace(T_U32 size, T_pSTR filename, T_U32 line)
{
	return (T_pVOID)Ram_Alloc(size, filename, line);
}

T_pVOID	Fwl_ReMallocAndTrace(T_pVOID var, T_U32 size, T_pSTR filename, T_U32 line)
{
	return (T_pVOID)Ram_Realloc(var, size, filename, line);
}

#endif

T_pVOID Fwl_Malloc(T_U32 size)
{
	return (T_pVOID)Ram_Alloc(size
#ifdef _MEMORY_DEBUG_
	, __FILE__, __LINE__
#endif
		);
}

T_pVOID Fwl_ReMalloc(T_pVOID var, T_U32 size)
{
	return (T_pVOID)Ram_Realloc(var, size
#ifdef _MEMORY_DEBUG_
	, __FILE__, __LINE__
#endif
		);
}

T_pVOID Fwl_hMalloc(T_U32 size)
{
	return (T_pVOID)Ram_Alloc(size
#ifdef _MEMORY_DEBUG_
	, __FILE__, __LINE__
#endif
		);
}

T_pVOID Fwl_Free(T_pVOID var)
{
	return Ram_Free(var);
}

T_pVOID Fwl_hFree(T_pVOID var)
{
	return Ram_Free(var);
}

T_U32 Fwl_GetTotalRamSize(T_VOID)
{
	return Ram_Total();
}

T_U32 Fwl_RamUsedBlock(T_VOID)
{
	return gRam.UsedBlockNum;
}

T_U32 Fwl_GetUsedRamSize(T_VOID)
{
	return Ram_Used();
}

T_pVOID Utl_hRamFree(T_pVOID var)
{	
	return Ram_Free(var);
}

T_U32 Utl_hRamUsedBlock(T_VOID)
{
	return gRam.UsedBlockNum;
}

T_U32 Utl_hRamGetBlockNum(T_VOID)
{
	return	gRam.TotalBlockNum - gRam.UsedBlockNum;	
}

T_U32 Utl_hRamGetBlockLen()
{
	return MEM_BLOCK_LEN;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -