3

ARM9アーキテクチャ(具体的にはiMX28シリーズ用)を対象としたWindows CE 6.0R3でOSを構築していますが、デバイスを最初に起動したときにカスタムイメージを表示するように起動画面を変更したいと思います。

これどうやってするの?.bmx形式で作成してビデオを有効にする必要があることを示唆する、かなり曖昧でまばらなドキュメントを読みましたが、デバイスの起動時に表示されるスプラッシュ画面を実際に変更する方法がわかりません。

4

2 に答える 2

2

場合によります。一般的に言えば、ディスプレイコントローラーの初期化を制御し、OSがロードされてディスプレイドライバーが引き継ぐ前に表示される初期イメージのデータをコントローラーに送信するのはブートローダーです。Platform Builderに付属しているすぐに使用できるBIOSブートローダーを使用する一般的なx86ターゲットデバイスでは、splash.bmx(圧縮されたBMP)が読み込まれ、それが表示されます。

私が知っているすべてのARMベースのケースでは、BIOSブートローダーはイメージのロードに使用されるものではなく、BSPまたはベンダー固有のローダーです。カスタムOEMブートローダーからredbootの派生物まで、さまざまなものを見てきました。そのような場合、スプラッシュイメージを表示するようにブートローダーがどのように設定されているか、およびそれを構成する方法を知っている必要があります(可能な場合は、一部はハードコーディングされています)。

使用しているブートローダーがわからないため、どのように機能するかについての詳細を推測することすら危険にさらすことはありません。最善の策は、プラットフォームのドキュメントを確認して説明されているかどうかを確認するか、OEMに確認することです。OEMの場合は、使用しているブートローダーのソースコードを調べる必要があります。

于 2012-06-01T21:10:04.767 に答える
0

ctackeが推奨するものを調べた後iMX28-eVK-PDK1_9、OSプロジェクトで使用されたBSPについて、内のコードを変更する必要があることがわかりましたdisplay.c

具体的には、の下のプラットフォームプロジェクト内で見つかりましたiMX28-EVK-PDK1_9\SRC\BOOTLOADER\COMMON\display.c。この関数ShowBmpは、固定メモリ位置からビットマップをロードするために使用されました。ShowBmp代わりに、デフォルトのFreescaleイメージの代わりに、目的のビットマップを画面に書き込むようにコードを調整する必要がありました。

デフォルトでShowBmpは、メモリ位置からビットマップイメージを読み取り、ピクセルごとにデバイス画面に書き込みます。私たちが実際に変更したのは、代わりにメモリ位置から読み取っていたということだけでした。

于 2012-06-01T22:06:05.073 に答える