|
关于开机LOGO的移植在我的U-BOOT-1.3.4移植手册末尾部分有很详细的移植过程,
我就不多说这方面的了!
楼主很生气,都发表这么久的帖子了,居然没人下我写的移植手册!
下面是链接:
http://www.armbbs.net/forum.php?mod=viewthread&tid=14358
好啦,进入正题!
在U-BOOT编译的时候,我们的bmp文件(也就是tools/logos/*.bmp文件)会被tools/bmp_logo.c编译出的工具bmp_logo
制作成include/bmp_logo.h,并编译进uboot中。
问题就出在include/bmp_logo.h中的bmp_logo_bitmap数组中,如图所示
图片后半部分,是全零,它直接导致LOGO显示如下
擦,顿时郁闷了......
下面是我的一点点分析:
从上面也可以看出图片的长和宽都能正确读取出来
下面打开tools/bmp_logo.c文件:
int main (int argc, char *argv[])
{
。。。省略
printf ("unsigned char bmp_logo_bitmap[] = {\n"); 对照bmp_logo.h文件会很清楚,从这里开始存入图片数据
for (i=(b->height-1)*b->width; i>=0; i-=b->width)
{
for (x = 0; x < b->width; x++)
{
b->data[(uint16_t)i + x]=(uint8_t)fgetc(fp)+DEFAULT_CMAP_SIZE; 读取数据
}
}
fclose (fp);
for (i=0;i<(b->height*b->width);++i)
{
if ((i%8) == 0)
putchar ('\t');/*每隔8个数据“TAB”对齐一次*/
printf ("0x%02X,%c",b->data,((i%8) ==7)?'\n' :' ');/*填入数据b->data*/
}
printf ("\n"
"};\n\n"
"#endif /* __BMP_LOGO_H__ */\n"
);
return (0);
}
从上面的代码我看不出有什么问题,希望大神帮忙,怎么改成全屏?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|