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

📄 ggt_mem.c

📁 ARM下的多任务操作系统源码:GogotoOS
💻 C
字号:
/****************************************************************************************************
**                                        Gogoto OS
**                           (c) Copyright 2007-2008, luyigui(卢益贵)
**                                     All Rights Reserved
**                                         V1.00.0
**
**	                           狗狗兔嵌入式多任务系统(基于消息机制)    
**    					 绿城代码、GGT-OS、Gogoto OS、狗狗兔嵌入式、狗狗兔系统
**						    		 	QQ:48092788
**
**------------------文件信息------------------------------------------------------------------------
**  文件名: GGT_Mem.c
**  创建人: 卢益贵
**  日 期: 2007年12月8日
**  版  本: V1.00.0
**  描  述: Gogoto OS 内存功能单元,提供简单的默认大小的内存管理,可在CPU许可范围内设置比系统需求大的
			内存空间,提供给各个任务使用
**

**------------------修改记录------------------------------------------------------------------------
**  修改人:	卢益贵
**  版  本: V1.20.0
**  日 期:	2008年1月8日
**  描 述:
**

****************************************************************************************************/

#define OS_SIZE_MEM     80
#define OS_SUM_MEM		20

#include		<GGT_OS.h>
#include		<GGT_Func.h>

UINT8 OSBoxMem[sizeof(_BoxHead) + OS_SIZE_MEM * OS_SUM_MEM];
_Mut	MutMem;

/****************************************************************************************************
**  函数名: OSTimerInit
**  描  述: 初始化内存空间
**  输 入: 无
**  输 出: 无
**  创建人: 卢益贵
**  日 期: 2007年12月8日

**------------------修改记录------------------------------------------------------------------------
**  修改人: 
**  日 期:
**  说  明:
**  原代码:
**--------------------------------------------------------------------------------------------------
****************************************************************************************************/

void OSMemInit(void)
{
	OSMutInit(&MutMem);
	BoxInit(OSBoxMem, sizeof(_BoxHead) + OS_SUM_MEM * OS_SIZE_MEM, OS_SIZE_MEM);
}

/****************************************************************************************************
**  函数名: OSMemGet
**  描  述: 内存分配
**  输 入: 无
**  输 出: 内存指针
**  创建人: 卢益贵
**  日 期: 2007年12月8日

**------------------修改记录------------------------------------------------------------------------
**  修改人: 
**  日 期:
**  说  明:
**  原代码:
**--------------------------------------------------------------------------------------------------
****************************************************************************************************/
void *OSMemGet(void)
{
	void *R;

	OSMutWait(&MutMem);
	R = BoxAlloc(OSBoxMem);
	OSMutRelease(&MutMem);
	return(R);
}

/****************************************************************************************************
**  函数名: OSMemFree
**  描  述: 内存释放
**  输 入: pMem:内存指针
**  输 出: 无
**  创建人: 卢益贵
**  日 期: 2007年12月8日

**------------------修改记录------------------------------------------------------------------------
**  修改人: 
**  日 期:
**  说  明:
**  原代码:
**--------------------------------------------------------------------------------------------------
****************************************************************************************************/
void OSMemFree(void *pMem)
{
	OSMutWait(&MutMem);
	BoxFree(OSBoxMem, pMem);
	OSMutRelease(&MutMem);
}

⌨️ 快捷键说明

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