# OS_InitPrintServer

## 構文

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

## 引数

なし。

## 返り値

なし。

## 説明

ARM7 からのデバッグメッセージを表示するための初期化関数です。

これは SDKライブラリのデバッグ用の関数ですので、通常のアプリケーションで使用する必要はありません。主にライブラリやミドルウェア開発者が使用することを想定しています。

`OS_Init()` の前にこの関数を呼び出して下さい。

`OS_InitPrintServer()` では、ARM7のデバッグ出力用バッファをメインメモリ上のARM9/ARM7 共用エリアに確保します。その後、ARM7 でデバッグ出力を行うとこのバッファに文字列を格納します。ARM9 では定期的に(毎フレーム程度が望ましいです)、このバッファの中身を出力するようにします。バッファの中身を出力するには `OS_PrintServer()` を呼び出します。

> (例)
> `
> void NitroMain(void)
> {
> OS_InitPrintServer();
> OS_Init();
> ：
> //---- main loop
> while(1)
> {
> OS_PrintServer();
> SVC_WaitVBlankIntr();
> ：
> }
> }`

この OS の PrintServer の機能を使って ARM7 の文字列を出力する場合、ARM7 で出力先コンソールをどこにしていても、ARM9 の標準出力先となります。

FINALROM ビルドでは、`OS_InitPrintServer()` および `OS_PrintServer()` は何もしないコードに置き換えられます。

###
使用するメモリ

ARM7 のデバッグ出力を格納するバッファを確保する場所は、メインメモリ上 ARM9 / ARM7 共用エリアとなっています。そのサイズは文字列バッファとして 1KByte と、出力位置を表すポインタとして 8Byte となります。

## 参照

`OS_PrintServer`

## 履歴

2009/06/25 関数の使用方法を記述
2005/08/19 初版