# OS_JumpToSystemMenu

## 構文

  `#include <nitro/os.h>`
  `BOOL OS_JumpToSystemMenu( void );`

## 引数

なし。

## 返り値

NITRO モードで実行した場合 には FALSE を返します。
TWL モードでは必ず成功しますが、成功した場合にはこの関数から戻ることはありません。

## 説明

ハードウェアリセットを行い、システムメニューに戻ります。

この関数を割り込み禁止の状態で呼び出すことはできません。
また、この関数は終了処理中に呼び出すことは出来ませんので`PM_Append*ExitCallback`などで登録する終了コールバックから実行されないよう注意してください。

本関数の内部では、`PM_ForceToResetHardware()` が使用されています。直接 `PM_ForceToResetHardware()` が呼ばれても通常は同様にシステムメニューに戻る動作となりますが、TWL には、メインRAM の先頭部分にパラメータを書き込んでハードウェアリセット後の動作を変更する仕組みが存在します (そのパラメータはシステムが使用します) 。従って、たまたま そのパラメータが意味のある値になっているときに `PM_ForceToResetHardware()` が呼ばれるとシステムメニューに戻らず別の動作になることがありますので、システムメニューに戻るのであれば本関数を呼んでください。

## 参照

`PM_ForceToResetHardware`,
`PM_Append*ExitCallback`, `PM_Prepend*ExitCallback`, `PM_Insert*ExitCallback`

## 履歴

2008/10/22 終了処理中の実行を禁止する旨を追加
2008/09/08 アイコンを修正
2008/08/05 初版