OS_InitArena

構文

#include <iris/os.h>
void OS_InitArena( void );

引数

なし。

返り値

なし。

説明

6つのアリーナの下位境界、上位境界を設定します。
この関数は、Alloc関数や他のArena関数よりも先に一度だけ呼んでください。但し、OS_Init() を呼ぶ場合、その内部から呼ばれていますのでそれ以降の呼び出しは意味がありません。

この関数の二度目以降の呼び出しは無視されます。OS_InitArena() を呼び出した後、アリーナの境界を変更することも可能です。

IRIS SDK では、メインメモリ、ITCM、DTCM、共有メモリ、ワークRAM、メインメモリ拡張部分 の6つのアリーナ領域を設定することが出来ます。それぞれの領域にはIDが振られており、OSArenaId 列挙型で

OS_ARENA_MAIN メインメモリ上のアリーナ
OS_ARENA_ITCM ICTM上のアリーナ
OS_ARENA_DTCM DTCM上のアリーナ
OS_ARENA_SHARED 共有メモリ上のアリーナ
OS_ARENA_WRAM ワークRAM上のアリーナ
OS_ARENA_MAINEX メインメモリ拡張部分のアリーナ

と定義されています。

OS_InitArena() を呼ぶことで、各アリーナの上位境界・下位境界は以下のようになります。

アリーナ 下位 上位
メインメモリ上のアリーナ SDK_MAIN_ARENA_LO サブプロセッサ専用領域の前
ITCM上のアリーナ ITCM最上位 ITCM最下位
DTCM上のアリーナ DTCM最上位 システムモード用スタックの前
共有メモリ上のアリーナ 共有メモリ最上位 共有メモリ最下位
ワークRAM上のアリーナ ワークRAM最上位 ワークRAM最下位
メインメモリ拡張部分のアリーナ 拡張部分最上位 デバッガ領域の前

製品版IRISでは、メインメモリ拡張部分はありませんので、メインメモリ拡張部分のアリーナはありません。

参照

OS_SetArenaHi, OS_SetArenaLo, OS_GetArenaHi, OS_GetArenaLo,

履歴

2004/01/16 MainEx について追加
2004/01/06 初版