更改uboot启动显示**时,图片显示不正常
1、uboot版本 VERSION = 2014,板子上电启动时,uboot会在屏上显示一个小图片,目的是想把这个图片换掉。查找后,发现是uboot在make的时候通过bmp_logo.c将logos文件夹下的某个图片编译生成了bmp_logo.h和bmp_logo_data.h这两个文件,供启动时uboot程序调用显示。
2、于是,在windows下用画图工具做了一个长、度、像素个数、颜色为256色的一个bmp图片(和原图片保持一致),放到Ubuntu虚拟机替换到原图片,编译重新生成之后,图片是可以显示出来,但是不正常。如附件图1
3、换着办法,测试了很多次,依然不对。想到会不会是ubuntu下bmp图片存储的格式和windows下不一样导致的,于是sudo apt-get在ubuntu下安装了一个画图软件,又作了一个一样的图片,编译重新生成,图片显示出来就正常了。如图2
4、在ubuntu下直接打开windows下做的图片,显示出来也是正常的。
5、疑惑:
1》要是说,ubuntu下bmp存放格式和windows下不一样,试过了,ubuntu下打开windows的图片显示正常,反之,显示也正常。
2》对图片作转换的bmp_logo.c是uboot自带的,怎么会出现这种不兼容性问题呢?
有朋友遇到这个现像吗? bmp格式的文件的话,可以看一下二进制的数据
bmp的开头有几十个字节是定义图片的尺寸大小,显示方式,颜色信息等等的 infomation
这些信息数据后面是真正的颜色信息;
可以看看图片文件头的信息,看看能不能找到差别。
wsmysyn 发表于 2018-8-30 10:56
bmp格式的文件的话,可以看一下二进制的数据
bmp的开头有几十个字节是定义图片的尺寸大小,显示方式,颜色 ...
在windows下对比了,他们的二进制数据确实不一样,这个图片很简单,即便是在ubuntu中做一个无所谓,只是这个bmp_**.c,他没有考虑过windows和Ubuntu中对bmp图片的存储格式不大一样吗?或许他已经做了一些兼容,但目前没有找到改哪个地方可以适应这种不同。如果重写bmp_**.c也不是不可能,工作量有些大了 zhaoyuyhq 发表于 2018-8-30 11:09
在windows下对比了,他们的二进制数据确实不一样,这个图片很简单,即便是在ubuntu中做一个无所谓,只是这 ...
应该是有不一样的
https://blog.csdn.net/o_sun_o/article/details/8351037
这个**说了详细的二进制含义,我大概看了一下有和平台相关的设置,
具体可以对比一下 wsmysyn 发表于 2018-8-30 12:01
应该是有不一样的
https://blog.csdn.net/o_sun_o/article/details/8351037
嗯,浏览了一下,你这个资料比较详细,我仔细研究一下
谢谢 zhaoyuyhq 发表于 2018-8-30 12:11
嗯,浏览了一下,你这个资料比较详细,我仔细研究一下
谢谢
以前搞过一次工业相机的原始数据转bmp的格式,查过一次bmp的详细解释,所以还有点印象,{:lol:} 本帖最后由 HappyXue 于 2018-8-30 16:06 编辑
看一下bmp_**.c是怎么实现的,这个代码应该不复杂,花不了多少时间。图像没问题,就颜色有问题,可能是调色盘数据有问题?
页:
[1]