6095|15

17

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

EBOOT在哪儿加载的开机LOGO? [复制链接]

请问Eboot在哪儿加载的开机LOGO啊?麻烦知道的大哥告知一下?我试着更改开发板上的eboot,弄了一上午也没有成功?//memcpy((void *)IMAGE_FRAMEBUFFER_UA_BASE, ScreenBitmap, LCD_ARRAY_SIZE_TFT_16BIT);
        memset((void *)IMAGE_FRAMEBUFFER_UA_BASE_eboot, 0xef, LCD_ARRAY_SIZE_TFT_16BIT);这是eboot目录里的initdisplay()函数的代码,ScreenBitmap是数组名,但是却被注释掉了,下面这句直接把缓存初始化为定值;

下面这段是OemPlatformInit()里面的
//--------------------------------------------------------------
initdisplay();
// ----------------------------------add for Logo-----------------------------------
   
        pTemp = (LPBYTE)IMAGE_FRAMEBUFFER_UA_BASE_eboot;

        memset((void *)IMAGE_FRAMEBUFFER_UA_BASE_eboot, 0x00, LCD_ARRAY_SIZE_TFT_16BIT);

        j = 256 * 4;// 4block * 4

        //RETAILMSG(TRUE, (TEXT("ERR FLASH IMAGE LOGO 111 0x%x : 0x%x !!!  \r\n"),j,flashInfo.wSectorsPerBlock));

        EXT_Logo();
        //memset((void *)pTemp, 0xff, LCD_ARRAY_SIZE_TFT_16BIT);

//---------------------------------END--------------------------------------------

看这两段程序好像都直接把显示缓存初始化为固定值了,那LOGO是如何显示的呢?

最新回复

确实是EXT_Logo() 的问题,里面读取了NAND FLASH上面的LOGO数据,现在我的开发板是EBOOT和NK两次加载LOGO,这样中间会有一次闪屏(虽然图片是一样的),内核加载的时候不初始化LCD控制器不行吗?干吗这样整啊?还有一点就是我换了个LOGO后烧到NAND上(用UBOOT)结果好像读取不正常………下午详细查下原因,因问题没有彻底解决,暂不结贴,多谢各位老兄  详情 回复 发表于 2010-1-13 10:16
点赞 关注

回复
举报

3

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
#if  1
    memcpy((void *)EBOOT_FRAMEBUFFER_UA_START, (void *)InitialImage_rgb16_640x480, 640*480*2);

#include "InitialImage_rgb16_640x480.h"
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
EXT_Logo();
是什么?
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
把你要显示的内容,放到IMAGE_FRAMEBUFFER_UA_BASE_eboot  就可以
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

5
 
但是我更改后显示并没有改变~!
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
认真查看一下代码,看看到底在哪里又设置了显示缓冲区。在那里改,或者在那之后改都可以。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
顶~如果只是想改LOGO,你就把位图转换.C文件,放到ScreenBitmap的结构体中.注意图片的大小.
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
memset((void *)IMAGE_FRAMEBUFFER_UA_BASE_eboot, 0x00, LCD_ARRAY_SIZE_TFT_16BIT);
我把上句的0换成0xa0,并没有显示我想象的颜色,我感觉这句应该是对显示缓存清零,结果LCD应该是白色
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 
memset是为一段空间初始化某个初值,想要设置自己的东西,可以接着用memcpy
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 
在拷贝NK到内存的那个循环里面加即可。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
memcpy((void *)IMAGE_FRAMEBUFFER_UA_BASE, ScreenBitmap, LCD_ARRAY_SIZE_TFT_16BIT);
把这个放到EXT_Logo(); 前面,然后注释掉EXT_Logo()试试。确保OAL文件夹下的BITMAP.C文件中有ScreenBitmap这个图像数组~
GOODLUCK~
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
MARK,学习下。
 
 
 

回复

1

帖子

0

TA的资源

禁止访问

13
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

14
 
EXT_Logo()
追这个函数下去看看。
你刷全白屏的话直接对显示寄存器操作就应该可以的。我以前调屏的时候就整版刷颜色,往寄存器里面扔数据。。汗。
mark
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
换LOGO失败要查下NAND存储的LOGO是图片的原始数据还是有效的显示数据,写的位置对不对,是否真的写进去了,ECC方式与EBOOT读取是否一样。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
确实是EXT_Logo() 的问题,里面读取了NAND FLASH上面的LOGO数据,现在我的开发板是EBOOT和NK两次加载LOGO,这样中间会有一次闪屏(虽然图片是一样的),内核加载的时候不初始化LCD控制器不行吗?干吗这样整啊?还有一点就是我换了个LOGO后烧到NAND上(用UBOOT)结果好像读取不正常………下午详细查下原因,因问题没有彻底解决,暂不结贴,多谢各位老兄
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表