dunken 发表于 2012-12-16 14:46:37

U-BOOT开机LOGO移植问题 不能全屏

关于开机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);
}

从上面的代码我看不出有什么问题,希望大神帮忙,怎么改成全屏?

embedsky_lhh 发表于 2012-12-17 12:00:29

你这uboot启动的时候拷贝了多长的数据到内存里边,怀疑你没有拷贝完全所以显示不完全,建议你把LOGO烧到NAND里边,然后uboot起来之后把它读到显存中

dunken 发表于 2012-12-17 16:34:34

embedsky_lhh 发表于 2012-12-17 12:00 static/image/common/back.gif
你这uboot启动的时候拷贝了多长的数据到内存里边,怀疑你没有拷贝完全所以显示不完全,建议你把LOGO烧到NAN ...

你的意思是图像数据并没有完全拷贝到显存吗?这个应该怎么验证呢,我的LOGO是嵌入到U-BOOT中的,无法分离出来!
移植主要是参考Tekkman的文章http://blog.chinaunix.net/uid-20543672-id-3246292.html

编译U-BOOT时,将BMP图片转换成数组bmp_logo_bitmap的程序发生错误。
数组后半部分全是0x00,而且全0 部分刚好是一半(480*272/2),它的总长度为480*272*1字节

embedsky_lhh 发表于 2012-12-19 08:52:22

dunken 发表于 2012-12-17 16:34 static/image/common/back.gif
你的意思是图像数据并没有完全拷贝到显存吗?这个应该怎么验证呢,我的LOGO是嵌入到U-BOOT中的,无法分离 ...

你最好是分离出来,要不然就要修改uboot镜像的长度配置

lixiaosch 发表于 2014-2-25 12:30:04

本帖最后由 lixiaosch 于 2014-2-25 14:21 编辑

{:2_164:}
页: [1]
查看完整版本: U-BOOT开机LOGO移植问题 不能全屏