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

📄 mem_define.h

📁 一个ARM内核通用的内存管理程序。通过使用三个链表进行管理
💻 H
字号:
#include "Mem_Conf.h"

#define BUSY_FLAG	0xaa		//内存块忙碌标志
#define IDLE_FLAG	0x00		//内存块空闲标志

#define NODE_YES	0xaa		//是叶节点
#define NODE_NO		0x00		//不是叶节点

#define NULL	0
#define CBSIZE	8 * 4		//内存控制块的大小
#define	HEADERSIZE	2 * 4	//链表头的大小

/* 内存分布链表中该内存控制块在所控制的内存,在内存中物理分布位置 */

typedef struct Tag_MemCB	//内存控制块结构
{
	void	*Addr;		//用户的开始使用的地址(不包含控制块)
	uint32	spacesize;	//这块所管理的内存大小(包含该控制块)
	uint32	Busy_Flag;	//是否已经分配了
	void	*Next;		//处于相应链表(Busy Or Idle链表)前向表项
	void	*Prev;		//处于相应链表(Busy Or Idle链表)后向表项
	void	*Mem_LB;	//处于内存分布链表中的前向表项
	void	*Mem_RB;	//处于内存分布链表中的后向表项
	
	uint32	nouse;		//保留
}MEMCB,	*PMEMCB;


typedef struct Tag_ListHeader
{
	PMEMCB FirstItem;	//指向链表中的第一个表项
	PMEMCB LastItem;	//指向链表中的最后一个表项
}LISTHEADER, *PLISTHEADER;	//链表的表头结构

⌨️ 快捷键说明

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