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