天嵌 ARM开发社区

 找回密码
 注册
查看: 4456|回复: 4

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

[复制链接]
dunken 发表于 2012-12-16 14:46:37 | 显示全部楼层 |阅读模式
关于开机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
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
你这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
你的意思是图像数据并没有完全拷贝到显存吗?这个应该怎么验证呢,我的LOGO是嵌入到U-BOOT中的,无法分离 ...

你最好是分离出来,要不然就要修改uboot镜像的长度配置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-6 06:14 , Processed in 1.031250 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表