アイウェーブは, Freescale社のSABRE SDP/Bプラットフォーム用WEC7 BSPのブートタイムを、ディスプレイ、タッチ・ドライバ サポートで小さなOSイメージの場合は3秒以内に、また基本的なドライバ及びOSコンポーネントをサポートした場合でもブートタイムを8秒〜10秒以内にしました。 ブートタイム短縮の必要性 WEC7は、オートモーティブやヘルスケアの様なアプリケーションに使用されるリアルタイムOSで、例えば、車載のリアビュー・カメラ・システムでは、バックギアを入れると同時にデバイスがスタートすることが求められ、2〜3秒以内にデバイスをブートしカメラアプリケーションをスタートする必要があります。 ブートタイム各段階での短縮(最適化)の方法 (1)ブートローダ (eboot): ・ブートローダで必要でないハードウエアの初期化コードを削除 ・ブートデバイスがmicro-SDであればNANDの初期化は不要であり、不要なコードを削除 ・Eboot内にあるebootメニューは、WEC7 OSのエンド製品では不要であり、これを削除 ・デフォルトのスプラッシュスクリーンを削除 (2)ブートデバイス(Micro-SD等)からRAMにOSイメージをコピー: ・OSイメージがRAMに素早くコピーできるように不要なコンポーネントを削除 ・OSサイズを小さくするため不要なレジストリキー、dllやライブラリを削除 ・ランタイム・イメージファイルを小さくするため、バイナリ・イメージ・ビルダー (.bib)ファイルを最適化 ・OSのコピーサイズを小さくするためMulti-BinFS OSバイナリを実行 ・コピー時間を短縮するため、ブートローダに圧縮/解凍メカニズムを持たせる (3)OAL レイヤ: ・不必要なハードウエアを実行するコードを削除 ・eboot で既に行っている初期化はスキップ ・もしwait/loop/delayがあればこれを削除。 ・不要なシリアル・デバッグ・プリントを削除 (4)ドライバの初期化及びシステムファイルのマウント: ・不要なドライバはすべて削除 ・OSブート後に適用できるドライバ(USB,センサ等)をロード ・OSがブートするのを待っている間の適切なスプラッシュスクリーン/プログレス・バーを使用 ・不要なシリアル・デバッグ・プリントを削除