オペレーティングシステム(OS)API 機能一覧

初期化

OS_Init システムを初期化します。

システム状態

OS_EnableInterrupts CPSR の IRQ, FIQ 割込みを許可します。
OS_DisableInterrupts CPSR の IRQ, FIQ 割込みを禁止します。
OS_RestoreInterrupts CPSR の IRQ, FIQ 割込みを指定の状態にします。
OS_GetCpsrIrq 現在のCPSR の IRQ割込み状態を取得します。
OS_GetProcMode 現在のプロセッサモードを取得します。
OS_EnableProtectionUnit プロテクションユニットをイネーブルにします。
OS_DisableProtectionUnit プロテクションユニットをディセーブルにします。
OS_SetExceptionUnitLower 例外ベクタの位置を正規アドレスにします。
OS_SetExceptionUnitUpper 例外ベクタの位置をハイベクタにします。
OS_EnableITCM 命令TCMをイネーブルにします。
OS_DisableITCM 命令TCMをディセーブルにします。
OS_EnableDTCM データTCMをイネーブルにします。
OS_DisableDTCM データTCMをディセーブルにします。
OS_SetParamITCM 命令TCMのパラメータを設定します。
OS_GetParamITCM 命令TCMのパラメータを取得します。
OS_SetParamDTCM データTCMのパラメータを設定します。
OS_GetParamDTCM データTCMのパラメータを取得します。

割込み

OS_EnableIrq すべてのIRQ割込みを許可します。
OS_DisableIrq すべてのIRQ割込みを禁止します。
OS_RestoreIrq 全てのIRQ割込みを指定の状態にします。
OS_SetIrqMask IRQ割込み要因を設定します。
OS_GetIrqMask 現在設定されているIRQ割込み要因を取得します。
OS_EnableIrqMask 指定の割込み要因のIRQを許可します。
OS_DisableIrqMask 指定の割込み要因のIRQを禁止します。
OS_ResetRequestIrqMask 割込みリクエストの指定の割込み要因を解除します。
OS_GetRequestIrqMask 現在の割込みリクエスト状態を取得します。
OS_InitIrqTable IRQハンドラのテーブルを初期化します。
OS_SetIrqFunction 指定のIRQに対応するハンドラを設定します。
OS_GetIrqFunction 指定のIRQに対応するハンドラを取得します。
OS_SetIrqCheckFlag 割込みチェックフラグをセットします。

タイマー

OS_StartTimer タイマーを設定してスタートします。カウント値は16ビットです。
OS_StartTimer32 2つのタイマーを用いて、32ビットの長時間タイマーをスタートします。
OS_StartTimer48 3つのタイマーを用いて、48ビットの長時間タイマーをスタートします。
OS_StartTimer64 4つのタイマーを用いて、64ビットの長時間タイマーをスタートします。
OS_StopTimer タイマーを停止します。カウント値は16ビットです。
OS_StopTimer32 2つのタイマーを停止します。32ビットタイマーを使用している時に使います。
OS_StopTimer48 3つのタイマーを停止します。48ビットタイマーを使用している時に使います。
OS_StopTimer64 4つのタイマーを停止します。64ビットタイマーを使用している時に使います。

スレッド

OS_InitThread スレッドシステムを初期化します。
OS_CreateThread スレッドを作成します。
OS_InitThreadQueue スレッドキューを作成します。
OS_ExitThread スレッドを終了します。
OS_SelectThread 次に動作するスレッドを選択します。
OS_RescheduleThread スレッドのスケジューリングを行います。
OS_SleepThread スレッドを休止状態にします。
OS_WakeupThread スレッドを動作可能状態にします。
OS_WakeupThreadDirect スレッドを動作可能状態にします。
OS_DumpThreadList すべてのスレッドを表示します(デバッグ用)

排他制御

OS_InitMutex 排他制御用Mutex構造体を初期化します。
OS_LockMutex Mutexを用いてスレッドにロックをかけます。
OS_UnlockMutex Mutexでかけていたスレッドへのロック解除を行います。
OS_TryLockMutex Mutexでかけていたスレッドへのロック解除を試みます。

コンテキスト

OS_InitContext コンテキストを初期化します。
OS_SaveContext 現在のコンテキストを保存します。
OS_LoadContext 指定のコンテキストを読み込みます。
OS_DumpContext コンテキスト構造体の中身を表示します。(デバッグ用)

メッセージ

OS_InitMessageQueue メッセージキュー構造体を初期化します。
OS_SendMessage メッセージキューの末尾にメッセージを挿入します。
OS_ReceiveMessage メッセージキューからメッセージを取り出します。
OS_JamMessage メッセージキューの先頭にメッセージを挿入します。

キャッシュ

DC_Enable 全てのデータキャッシュを使用可能にします。
DC_Disable 全てのデータキャッシュを使用禁止にします。
DC_Restore 全てのデータキャッシュを使用可能か使用禁止に設定します。
DC_InvalidateAll 全てのデータキャッシュを無効にします。
DC_StoreAll
(DC_CleanAll)
全てのデータキャッシュをクリーンします。
DC_FlushAll
(DC_CleanAndInvalidateAll)
全てのデータキャッシュをクリーンして無効にします。
DC_InvalidateRange 指定領域のデータキャッシュを無効にします。
DC_StoreRange
(DC_CleanRange)
指定領域のデータキャッシュをクリーンします。
DC_FlushRange
(DC_CleanAndInvalidateRange)
指定領域のデータキャッシュをクリーンして無効にします。
DC_TouchRange 指定領域のデータキャッシュをキャッシュに読み込みます。
DC_LockdownRange 指定領域のデータキャッシュをロックダウンします。
DC_WaitWriteBufferEmpty ライトバッファが空になるのを待ちます。
IC_Enable 全ての命令キャッシュを使用可能にします。
IC_Disable 全ての命令キャッシュを使用禁止にします。
IC_Restore 全ての命令キャッシュを使用可能か使用禁止に設定します。
IC_InvalidateAll 全ての命令キャッシュを無効にします。
IC_InvalidateRange 指定領域の命令キャッシュを無効にします。
IC_PrefetchRange 指定領域の命令キャッシュのプリフェッチを行います。
IC_LockdownRange 指定領域の命令キャッシュをロックダウンします。

アリーナ

OS_InitArena アリーナの初期設定を行います。
OS_SetArenaHi アリーナの上位境界を設定します。
OS_Set*ArenaHi アリーナの上位境界を設定します。(アリーナ指定)
OS_SetArenaLo アリーナの下位境界を設定します。
OS_Set*ArenaLo アリーナの下位境界を設定します。(アリーナ指定)
OS_GetArenaHi アリーナの上位境界を取得します。
OS_Get*ArenaHi アリーナの上位境界を取得します。(アリーナ指定)
OS_GetArenaLo アリーナの下位境界を取得します。
OS_Get*ArenaLo アリーナの下位境界を取得します。(アリーナ指定)
OS_AllocFromArenaHi アリーナの上位から指定サイズの領域を割り当てます。
OS_AllocFrom*ArenaHi アリーナの上位から指定サイズの領域を割り当てます。(アリーナ指定)
OS_AllocFromArenaLo アリーナの下位から指定サイズの領域を割り当てます。
OS_AllocFrom*ArenaLo アリーナの下位から指定サイズの領域を割り当てます。(アリーナ指定)

メモリ割り当て

OS_InitAlloc メモリ割り当てシステムの初期化を行います。
OS_CreateHeap ヒープを作成します。
OS_DestroyHeap ヒープを破棄します。
OS_AddToHeap 指定のメモリブロックをヒープ領域に追加します。
OS_SetCurrentHeap カレントヒープを設定します。
OS_AllocFromHeap ヒープ領域からメモリを割り当てます。
OS_AllocFrom* ヒープ領域からメモリを割り当てます。(アリーナ指定)
OS_Alloc ヒープ領域からメモリを割り当てます。(メインメモリ上のアリーナ)
OS_AllocFixed 指定の領域を割り当てます。
OS_FreeToHeap ヒープ領域にメモリを解放します。
OS_FreeTo* ヒープ領域にメモリを解放します。(アリーナ指定)
OS_Free ヒープ領域にメモリを解放します。(メインメモリ上のアリーナ)
OS_CheckHeap ヒープをチェックします。
OS_DumpHeap ヒープの内容を表示します。(デバッグ用)
OS_ReferentSize メモリブロックの(ヘッダを除く)メモリ上のサイズを取得します。
OS_VisitAllocated すべてのメモリブロックに対して指定の関数に処理を行わせます。

デバッグ

OS_PutString 文字列を表示します。
OS_Printf フォーマット付きで文字列を表示します。
OS_Warning 警告を表示します。
OS_Panic プログラムの実行を停止します。