OS_GetResetParameter

構文

#include <nitro/os.h>

u32 OS_GetResetParameter( void );

引数

なし。

返り値

リセットパラメータの値です。
電源投入後から次にOS_ResetSystem() を呼ぶまでの間は 0 を返します。

説明

リセットパラメータの値を取得します。

リセットパラメータとは、直前の OS_ResetSystem() の引数に与えられた値です。
電源投入後から次にOS_ResetSystem()を呼ぶまでの間は 0 を返します。


u32 n;
NitroMain()
{
     :
  n = OS_GetResetParameter();
  OS_Printf( "%d\n", n );
     :
  OS_ResetSystem( n + 1 );
}

この例の場合、最初に 0 と表示され、以降リセットをかけるたびに 1、2、3、…と表示されます。

内部動作

リセットパラメータはHW_RESET_PARAMETER_BUF 以降の4バイトの領域に格納されています。ここはシステム共有領域内に位置し、リセット時にクリアされません。本関数ではその領域の値を読んで返します。
ただしOS_ResetSystem()はカードブートアプリでしか呼び出すことが出来ませんので、 それ以外の起動モードでこの関数を呼び出しても得られる値は常に0となります。

参照

OS_InitReset, OS_ResetSystem

履歴

2009/07/02 TWLモードでもソフトウェアリセットに対応したため記述を修正。
2009/06/08 OS_ResetSystem()がNITROモード専用機能である旨を追記。
2004/09/01 初版