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

📄 ini_mem.c

📁 itron
💻 C
字号:
/* ------------------------------------------------------------------------ */
/*  Hyper Operating System V4  μITRON4.0慌屯 Real-Time OS                  */
/*    カ〖ネルメモリ瓷妄                                                    */
/*                                                                          */
/*                                  Copyright (C) 1998-2002 by Project HOS  */
/*                                  http://sourceforge.jp/projects/hos/     */
/* ------------------------------------------------------------------------ */


#include "knl_mem.h"



/* グロ〖バル恃眶 */
T_KERNEL_MEM_BLK *kernel_mem_base = NULL;	/* カ〖ネル脱メモリ黎片ブロックのアドレス */
SIZE             kernel_mem_size;			/* カ〖ネル脱メモリサイズ */


/* メモリ瓷妄を介袋步 */
void kernel_ini_mem(
		void *p_base,		/* 瓷妄する挝拌の黎片アドレス */
		SIZE size)			/* 瓷妄する挝拌のサイズ */
{
	T_KERNEL_MEM_BLK *mblklast;
	
	/* サイズのアライメントを拇腊 */
	size &= ~(MEMBLK_ALIGN - 1);
	
	/* サイズチェック */
	if ( size <= sizeof(T_KERNEL_MEM_BLK) )
	{
		return;
	}
	
	/* 肋年瘦赂 */
	kernel_mem_base = (T_KERNEL_MEM_BLK *)p_base;
	kernel_mem_size = size;
	
	/* 姜眉疤弥に戎客を肋年 */
	mblklast = (T_KERNEL_MEM_BLK *)((UB *)p_base + size - MEMBLKSIZE);
	
	/* 链挛を鄂き挝拌に肋年 */
	kernel_mem_base->prev = NULL;
	kernel_mem_base->size = size - (MEMBLKSIZE * 2);
	kernel_mem_base->flag = MEMBLK_FREE;
	
	/* 姜眉の戎客を网脱面に肋年 */
	mblklast->prev = NULL;
	mblklast->size = 0;
	mblklast->flag = MEMBLK_USING;
}


/* ------------------------------------------------------------------------ */
/*  Copyright (C) 1998-2002 by Project HOS                                  */
/* ------------------------------------------------------------------------ */

⌨️ 快捷键说明

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