u-boot logo全屏显示
来源:互联网 发布:oppor9怎么备份数据 编辑:程序博客网 时间:2024/04/28 06:05
最近闲来无事逛论坛,看到了有关u-boot全屏显示logo的帖子,http://bbs.csdn.net/topics/390328046,自己也没做过,试了下,可行,下面分享给各位。
u-boot版本是:u-boot-2010.06
开发板:AT91SAM9X35
LCD屏:480*272
其实在u-boot中显示较小的logo还是比较容易的,在/u-boot-2010.06/tools/logos 中默认就有几个小的图片,只要include/configs/at91sam9x5ek.h中定义了有关LCD的一些宏,如:CONFIG_LCD_LOGO,CONFIG_LCD_INFO,CONFIG_LCD_INFO_BELOW_LOGO,u-boot编译后开机都会有一个较小的logo在屏幕的左上角显示,我的是ATMEL的logo
现在说说如何做全屏显示logo!
1.将u-boot默认显示的文字去掉,去掉CONFIG_LCD_INFO这个宏
2.获取一张480*272的图片,注意图片格式必须为:xxx.bmp,8位深度
3.将图片文件命名为 atmel.bmp,将/u-boot-2010.06/tools/logos/下面原来的atmel.bmp覆盖掉。
4.编译u-boot,烧录
一看,图片是有显示了,但只显示了一半。
奇怪了,这是为何?慢慢看源码,发现每次编译后,u-boot都会在include下面生成一个新的bmp_logo.h文件,这个是由tools/bmp_logo生成的,打开bmp_logo.h看看
#define BMP_LOGO_WIDTH 480
#define BMP_LOGO_HEIGHT 272
#define BMP_LOGO_COLORS 240
#define BMP_LOGO_OFFSET 16
这是获取到你刚刚拷贝进去的图片的信息,如果是对的,就继续往下看,下面有2个数组,图片的数据就在这里
unsigned short bmp_logo_palette[]={.....}和unsigned char bmp_logo_bitmap[] = {....}
往下看,发现bmp_logo_bitmap数组中的数据的下半截全部为0x0了,怪不得。为什么会为0x0?可能就是生成数据的bmp_logo有问题了,打开bmp_logo.c看看
这就是生成bmp_logo.h的东东,看看生成bmp_logo_bitmap数组那段:
printf ("unsigned char bmp_logo_bitmap[] = {\n");
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;
}
}
width和height都是对的,原来是这个uint16_t(unsigned short型)搞的鬼,改为uint32_t(unsigned int型),再编译,看bmp_logo.h
嗯,不错,这会数据全部都有了,烧录,重启,有了我们预设的图片了!
图片人物有些地方出现了绿点,这是我用photoshop将原图jpg编辑后就出现的,如果在初期就把图片设计好,应该没多大问题了!
- u-boot logo全屏显示
- u-boot显示logo
- am3359 u-boot显示logo
- U-boot显示LOGO之LOGO篇
- 修改u-boot的开机logo及显示过程
- 修改u-boot的开机logo及显示过程
- 修改u-boot的开机logo及显示过程
- u-boot的开机logo及显示过程
- 修改u-boot的开机logo及显示过程
- mipi屏在内核可以显示logo但是u-boot无法显示的问题
- 制作u-boot LCD开机logo 及LCD字符显示错误的解决
- 基于s3c2440的u-boot-2010.3 LCD驱动流程以及LOGO的显示详解
- U-boot开机logo的制作方法
- U-boot开机logo的制作方法
- Am335x之u-boot LOGO的增加
- 自定义u-boot启动logo的方法
- 自定义u-boot启动logo的方法
- u-boot之开机logo篇
- java中equals()方法和“==”运算符
- 使用cognos8.4遇到的问题1
- cocos2d-x分辨率自适应
- nginx + tomcat 实现负载均衡配置 nginx.conf配置
- jQuery弹出窗口插件"LeanModal.js"的使用
- u-boot logo全屏显示
- 新的开始,启程了
- UICollectionView介绍
- 关于linux装载器(如何解决应用程序跑不起来not found等问题)
- Tomcat 使用
- color correction色彩校正
- DB2异库(异机)重定向恢复步骤
- Perl——哈希的创建和引用
- STM32的两个.bin文件如何合并?