3

我正在 Windows CE 6.0R3 中构建面向 ARM9 架构的操作系统(特别是针对 iMX28 系列),我想更改启动屏幕以在设备首次启动时显示自定义图像。

我怎样才能做到这一点?我阅读了一些相当模糊和稀疏的文档,建议您需要以 .bmx 格式创建它并启用视频,但我没有看到如何实际更改设备启动时显示的启动画面。

4

2 回答 2

2

这取决于。一般来说,引导加载程序控制显示控制器的初始化并将数据发送到控制器以获取在加载操作系统之前出现的初始图像,并且它的显示驱动程序接管。在使用 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我的操作系统项目中使用的 BSP,我需要修改display.c.

具体来说,它是在iMX28-EVK-PDK1_9\SRC\BOOTLOADER\COMMON\display.c. 该函数ShowBmp用于从内存中的固定位置加载位图。我不得不调整代码以ShowBmp将所需的位图而不是默认的飞思卡尔图像写入屏幕。

默认情况下,ShowBmp从内存位置读取位图图像并将其逐个像素地写入设备屏幕。我们真正改变的唯一一件事是我们从我们的内存位置读取。

于 2012-06-01T22:06:05.073 回答