网上关于这方面的资料很多,但这几天我按照网上的尝试了很多次都没有成功,最后自己慢慢摸索最终还是弄出来了,现在记下来为以后遇到类似的事情作参考。
1.在网上下载了一个图形转换工具bmp2c.exe,把320*240的BMP图片转换成C文件的.h文件 命名为 bitmap.h,其实里面就是一个大数组。
2.把这文件拷贝到你PB安装目录的一个文件夹下,我的拷贝在:C:\WINCE500\PLATFORM\mini2440\Src\Kernel\Oal
3.再修改相同目录下的init.c文件,首先在文件开头包含第二步考进去的那个文件,我的是bitmap.h 所以就是 #include "bitmap.h"。然后再修改这文件里面 static void InitDisplay(DWORD LcdType) 函数。这函数里面有关于开机显示图片的代码。
memset((void *)IMAGE_FRAMEBUFFER_UA_BASE, 0, XSize*YSize*2);//0 XSize YSize
{
unsigned PicWidth = StartLogoData[0];
unsigned PicHeight = StartLogoData[1];
unsigned CopyWidth = PicWidth <= LCD_WIDTH ? PicWidth : LCD_WIDTH ;
unsigned CopyHeight = PicHeight <= LCD_HEIGHT ? PicHeight : LCD_HEIGHT;
unsigned V;
//const unsigned short *PicPtr = StartLogoData + 2;
const unsigned short *PicPtr = ScreenBitmap; //我修改的地方 ScreenBitmap 就是那数组的 名称
unsigned short *LCDPtr = (unsigned short *)IMAGE_FRAMEBUFFER_UA_BASE;
for (V = 0; V < CopyHeight; V++) {
memcpy(LCDPtr, PicPtr, CopyWidth * 2); //其实其关键作用的是这语句
LCDPtr += LCD_WIDTH;
PicPtr += PicWidth;
}
}
然后保存一下 在sysgen 就可以了。再烧写到板子。开机显示就是我设置的图片。