4252|11

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

LCD显示驱动启动时进入自保护模式 [复制链接]

如题。小弟使用的是CE5.0,LCD驱动架构基于ddraw
一开始GWES加载LCD 驱动库,运行进入桌面没有问题。只是bootloader和系统启动到加载驱动之间没有对LCD操作,白屏。
于是我把LCD的操作加到bootloader(OEMPlatformInit)和OEMInit中,放上LOGO,本身这些操作并没有问题。
只是这样一来,系统进不到桌面了,而是进入自保护模式(全屏 红,绿,蓝,白,黑刷屏)
于是我在LCD驱动类初始化一开始的时候把显示模块关掉,最后可以进入到桌面,但是在进到桌面前有几秒钟时间还是刷屏状态。咋会这样呢?
看样子,是启动时的那一段LCD操作和显示驱动有冲突了,会是这样子吗?哪位兄弟有遇到过这样的情况,请指点一下!先谢了!

最新回复

这个问题还真是头痛,后来又发现,会影响到Activesync了,插上USB后,报错608,在网上查了一下,说注册表中改什么的,都不起作用,把系统起来时对LCD的操作(OEMInit中)去掉,便好了,哎。现在手上也没板子了,不能试,要明年再慢慢来了。 多谢楼上几位大哥的关注,后续有新进展再开帖吧。  详情 回复 发表于 2009-1-18 21:54
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
bootloader和CE下面用的Framebuffer是同一块吗?CE下面的Framebuffer是动态分配?
最好对LCD Controller的初始化只在bootloader里做,在CE下面不需要重复做了
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不会冲突,只会OS没有做,如果OS做了,会把之前做的都给冲掉的。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
在 Drivers\Display 里面的驱动程序,其中有一段写屏幕的代码,仔细找找一定能找到,去掉就行了。要不你把你显示驱动的代码发上来,大家帮你找找,肯定能解决。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

5
 
多谢几个大哥的回复,今天公司的网络一天都不好,没有及时跟进,还请见谅。

TO hzdysymbol:
framebuffer在bootloader(以及系统起来时那一会)和驱动中的确实不一样,bootloader中设为固定义地址,驱动中使用的是双缓冲,一个给foreground,一个给background。想来,可能这部分的不同设置有影响了。

另外我看一下波形图(在DDIPU初始化时不做关显示模块,系统起来后刷屏,进不到桌面)
HSYNC:从bootloader到系统刚启动那会,都比较稳,65K左右,加载了驱动后,没有波形
VSYNC:从bootloader到系统刚启动那会,都比较稳,41K左右,加载驱动那一阵波形不稳,过后又稳定
DCLK:从bootloader到系统刚启动那会,都比较稳,139K左右,加载驱动那一阵波形不稳,过后又稳定


MX31的IPU模块包含了很多模块,就显示而言,主要由SDC,DI,和DMA来实现。
附上显示代码,麻烦大家帮我研究研究。
display文件夹下是在bootloader中的对LCD的操作
IPU文件夹下是显示驱动代码,主要有BASE,DDIPU_SDC,和SDC三部分构成。
   BASE部分是一些基本的操作,打开/关闭IPU模块的一些子模块
   SDC部分主要是对SDC,DI,DMA的一些设置,也是换屏修改驱动主要改动的地方,其中ForegroundWindowConfig和SetSrcBuffer函数设置了foreground和background的framebuffer地址。
   DDIPU_SDC部分是显示驱动的主类,上面两部分都在这里被调用。




 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
不知道怎么把代码放到帖子上,于是我上传成资源了,搜一下MX31便有,不需分。
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

7
 
你所说的“波形在驱动加载后会有异常”的现象,应该是在驱动的init函数中再次配置了LCD相关的寄存器导致的。
现在先将init函数的配置寄存器部分取消掉,相当于eboot配置过之后,就不再改动。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
shuiyan你好:
我试过在驱动的Init函数中去掉再次配置LCD的操作,但是这样导致的结果是屏幕一直刷屏了(红,绿,蓝,白,黑轮循)
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

9
 
学习一下
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 
HSYNC:从bootloader到系统刚启动那会,都比较稳,65K左右,加载了驱动后,没有波形
你是不是要从这里入手去找原因?
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

11
 
恩,楼上大哥说的极是,
影响HSYNC波形,我想也就有其他地方频率设置所影响了,但查了半天,似乎没有什么明显的地方,于是一个模块一个模块的排查,但是
1、现象不一
在现实LOGO的过程中(还未到加载显示驱动),有时会快速闪几下,又回归正常,有时闪几下就刷屏了
2、影响到的模块不止一个,(用了个笨办法,加载模块的时候让它死循环由此判断哪个模块有问题),头痛

还有一点不明白的是,如果只是因为中间频率有变化影响了,那么到后来显示驱动中又会有相关的操作,为什么还不行,还是说这些操作有先后顺序?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

12
 
这个问题还真是头痛,后来又发现,会影响到Activesync了,插上USB后,报错608,在网上查了一下,说注册表中改什么的,都不起作用,把系统起来时对LCD的操作(OEMInit中)去掉,便好了,哎。现在手上也没板子了,不能试,要明年再慢慢来了。
多谢楼上几位大哥的关注,后续有新进展再开帖吧。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表