ブート

ブートでは、SOLIDのコアサービスを起動するために、メモリの初期化やコアサービスの転送を行う必要があります。 このために、要実装関数で、各ターゲットに合わせた初期化コードを追加してください。

ブート処理中は、MMUが無効、または論理アドレス=物理アドレスの状態で動作します。

コアサービスが使用するメモリ領域(メモリマップデザイナにてSOLID_COREで指定した部分)には、 ブートのコード、データ、スタック等を配置しないようにして下さい。

本項

API

IMPL_BOOT_Init

void IMPL_BOOT_Init()

デバイスの初期化をします。

主にメモリ、およびCPU周辺のIOを初期化してください。

IMPL_BOOT_GetArgument

void IMPL_BOOT_GetArgument(unsigned char *args, unsigned long size)

引数の設定をします。

起動時にコアサービスへ渡す引数を設定してください。

パラメータ:
  • arg – 引数を格納するバッファ
  • size – 引数の最大サイズ

IMPL_BOOT_GetCsInfo

void IMPL_BOOT_GetCsInfo(void *pBuf, unsigned long bufSize)

コアサービスのバイナリ情報を取得します。

solid_cs.binの先頭のデータを転送してください。

パラメータ:
  • pBuf – 転送する位置
  • bufSize – 転送するサイズ(byte)

IMPL_BOOT_LoadCs

void IMPL_BOOT_LoadCs(void *pAddr)

コアサービスのバイナリを転送します。

solid_cs.binを指定位置に転送してください。

パラメータ:pAddr – solid_cs.binを転送する先頭アドレス