📄 ggt_mem.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 + -