WinCE50 桌面花屏

Synwell 2012-02-26 02:16:56
WinCe50 在ATMEL ARM9上开发,出现桌面花屏,请教高手,可能什么原因,谢谢!启动过程出现Windows CE logo也有花屏,上面有一些小黑点和斜线。


...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Synwell 2012-02-27
  • 打赏
  • 举报
回复
显示是OLED屏,类似NAND FLASH操作,原来跑Vxworks,用ZINC显示也正常。
帮帮你我她 2012-02-27
  • 打赏
  • 举报
回复
如果是VGA显示器,建议用电脑显示器先试试,如果行,则你的工控机显示驱动可以找厂家帮忙
改改
李氏康荣 2012-02-26
  • 打赏
  • 举报
回复
我的另外一个板子也是这种情况。只不过不是很严重的。
就是在启动的时候出现出现白屏还有点闪。很短的时间就没有了
不知道是那的。感觉是硬件的问题
Synwell 2012-02-26
  • 打赏
  • 举报
回复
用 Remote Zoomin 工具抓图是黑屏,但设备上是有图像的。我是用KITL和CESH和设备连的。

这个怎么查呀,跪求高手指点。谢谢!
Synwell 2012-02-26
  • 打赏
  • 举报
回复
谢谢楼上两位,应该吧不是硬件的问题,因为EBOOT显示时,显示的图像和我的预计相同。Wince驱动中传输图像前执行的函数BltPerpare和传输结束时的执行函数BltComplete如下:
BltPrepare(GPEBltParms *blitParameters)
{
RECTL rectl;
UINT16 left,top,right,bottom;

// RETAILMSG(1, (TEXT("BltPrepare\r\n")));


// default to base EmulatedBlt routine
blitParameters->pBlt = EmulatedBlt;

// see if we need to deal with cursor
if (m_CursorVisible && !m_CursorDisabled)
{
// check for destination overlap with cursor and turn off cursor if overlaps
if (blitParameters->pDst == m_pPrimarySurface) // only care if dest is main display surface
{
if (blitParameters->prclDst != NULL) // make sure there is a valid prclDst
{
rectl = *blitParameters->prclDst; // if so, use it
}
else
{
rectl = m_CursorRect; // if not, use the Cursor rect - this forces the cursor to be turned off in this case
}


if (m_CursorRect.top < rectl.bottom && m_CursorRect.bottom > rectl.top &&
m_CursorRect.left < rectl.right && m_CursorRect.right > rectl.left)
{
CursorOff();
m_CursorForcedOff = TRUE;
}

left=(UINT16)rectl.left;
top=(UINT16)rectl.top;
right=(UINT16)rectl.right;
bottom=(UINT16)rectl.bottom;

RETAILMSG(1, (TEXT("BltPrepare:window (%d,%d,%d,%d)\r\n"),left,top,right,bottom));

left=left<320? left : 0;
OledSetWindow(left,top,right-1,bottom-1);
OledSetGramStart();

}

// check for source overlap with cursor and turn off cursor if overlaps
if (blitParameters->pSrc == m_pPrimarySurface) // only care if source is main display surface
{
if (blitParameters->prclSrc != NULL) // make sure there is a valid prclSrc
{
rectl = *blitParameters->prclSrc; // if so, use it
}
else
{
rectl = m_CursorRect; // if not, use the CUrsor rect - this forces the cursor to be turned off in this case
}
if (m_CursorRect.top < rectl.bottom && m_CursorRect.bottom > rectl.top &&
m_CursorRect.left < rectl.right && m_CursorRect.right > rectl.left)
{
CursorOff();
m_CursorForcedOff = TRUE;
}

}
}


// see if there are any optimized software blits available
EmulatedBltSelect02(blitParameters);
EmulatedBltSelect08(blitParameters);
EmulatedBltSelect16(blitParameters);
// RETAILMSG(1, (TEXT("-BltPrepare\r\n")));

return S_OK;
}

BltComplete(GPEBltParms *blitParameters)
{
// RETAILMSG(1, (TEXT("BltComplete\r\n")));

// see if cursor was forced off because of overlap with source or destination and turn back on
if (m_CursorForcedOff)
{
m_CursorForcedOff = FALSE;
CursorOn();
}
OledSetGramEnd();

#if 1 //Test
RETAILMSG(1, (TEXT("TestCount=%d\r\n"),TestCount));
TestCount++;
// if(TestCount>170)
// while(1);

#endif //End Test

return S_OK;
}

执行结果如下:

2805 PID:a1e2bec2 TID:a1fb64ca AllocSurface :a0dfdd4(W=320,H=240)
2810 PID:a1e2bec2 TID:a1fb64ca TestCount=1
2823 PID:a1e2bec2 TID:a1fb64ca Lyg.p: Layout Manager successfully initialized to 1
3053 PID:a1e2bec2 TID:61fb672e TestCount=2
3054 PID:a1e2bec2 TID:61fb672e AllocSurface :c06f574(W=64,H=16)
3057 PID:a1e2bec2 TID:61fb672e AllocSurface :c06f574(W=128,H=32)
3059 PID:a1e2bec2 TID:61fb672e AllocSurface :c06f554(W=64,H=16)
3060 PID:a1e2bec2 TID:61fb672e AllocSurface :c06f554(W=128,H=32)
3062 PID:a1e2bec2 TID:61fb672e TestCount=3
3064 PID:a1e2bec2 TID:61fb672e TestCount=4
3066 PID:a1e2bec2 TID:61fb672e TestCount=5
3067 PID:a1e2bec2 TID:61fb672e TestCount=6
3068 PID:a1e2bec2 TID:61fb672e TestCount=7
3071 PID:a1e2bec2 TID:61fb672e TestCount=8
3072 PID:a1e2bec2 TID:61fb672e TestCount=9
3074 PID:a1e2bec2 TID:61fb672e TestCount=10
3076 PID:a1e2bec2 TID:61fb672e TestCount=11
3078 PID:a1e2bec2 TID:61fb672e TestCount=12
3079 PID:a1e2bec2 TID:61fb672e TestCount=13
3081 PID:a1e2bec2 TID:61fb672e TestCount=14
3084 PID:a1e2bec2 TID:61fb672e TestCount=15
3086 PID:a1e2bec2 TID:61fb672e TestCount=16
3088 PID:a1e2bec2 TID:61fb672e TestCount=17
3090 PID:a1e2bec2 TID:61fb672e TestCount=18
3091 PID:a1e2bec2 TID:61fb672e TestCount=19
3093 PID:a1e2bec2 TID:61fb672e TestCount=20
3095 PID:a1e2bec2 TID:61fb672e TestCount=21
3096 PID:a1e2bec2 TID:61fb672e TestCount=22
3098 PID:a1e2bec2 TID:61fb672e TestCount=23
3100 PID:a1e2bec2 TID:61fb672e TestCount=24
3103 PID:a1e2bec2 TID:61fb672e TestCount=25
3104 PID:a1e2bec2 TID:61fb672e TestCount=26
3106 PID:a1e2bec2 TID:61fb672e AllocSurface :c06f4fc(W=64,H=48)
3108 PID:a1e2bec2 TID:61fb672e TestCount=27
3109 PID:a1e2bec2 TID:61fb672e TestCount=28
3110 PID:a1e2bec2 TID:61fb672e TestCount=29
3111 PID:a1e2bec2 TID:61fb672e TestCount=30
3113 PID:a1e2bec2 TID:61fb672e TestCount=31
3123 PID:a1e2bec2 TID:61fb672e TestCount=32
3125 PID:a1e2bec2 TID:61fb672e AllocSurface :c06f4fc(W=128,H=96)
3129 PID:a1e2bec2 TID:61fb672e TestCount=33
3131 PID:a1e2bec2 TID:61fb672e TestCount=34
3131 PID:a1e2bec2 TID:61fb672e TestCount=35
3133 PID:a1e2bec2 TID:61fb672e TestCount=36
3135 PID:a1e2bec2 TID:61fb672e TestCount=37
3137 PID:a1e2bec2 TID:61fb672e TestCount=38
3139 PID:a1e2bec2 TID:61fb672e TestCount=39
3140 PID:a1e2bec2 TID:61fb672e TestCount=40
3142 PID:a1e2bec2 TID:61fb672e TestCount=41
3144 PID:a1e2bec2 TID:61fb672e TestCount=42
3145 PID:a1e2bec2 TID:61fb672e TestCount=43
3148 PID:a1e2bec2 TID:61fb672e TestCount=44
3149 PID:a1e2bec2 TID:61fb672e TestCount=45
3151 PID:a1e2bec2 TID:61fb672e TestCount=46
3153 PID:a1e2bec2 TID:1df63ca +SetPointerShape(0xA25FD68, 0x0, 17, 30, 32, 32)
3160 PID:a1e2bec2 TID:1df63ca +SetPointerShape(0xA25FD40, 0x0, 0, 0, 32, 32)
3166 PID:a1e2bec2 TID:61fb672e TestCount=47
3168 PID:a1e2bec2 TID:61fb672e TestCount=48
3169 PID:a1e2bec2 TID:61fb672e TestCount=49
3170 PID:a1e2bec2 TID:61fb672e TestCount=50
3172 PID:a1e2bec2 TID:61fb672e TestCount=51
3174 PID:a1e2bec2 TID:61fb672e TestCount=52
3176 PID:a1e2bec2 TID:61fb672e TestCount=53
3178 PID:a1e2bec2 TID:61fb672e TestCount=54
3179 PID:a1e2bec2 TID:61fb672e TestCount=55
3181 PID:a1e2bec2 TID:61fb672e TestCount=56
3225 PID:a1e2bec2 TID:61fb672e +SetPointerShape(0xC06F918, 0x0, 16, 16, 32, 32)
3243 PID:a1e2bec2 TID:1df63ca +SetPointerShape(0xA25FD40, 0x0, 0, 0, 32, 32)
3270 PID:a1e2bec2 TID:61fb672e +SetPointerShape(0xC06F94C, 0x0, 16, 16, 32, 32)
3276 PID:a1e2bec2 TID:61fb672e +SetPointerShape(0xC06F94C, 0x0, 0, 0, 32, 32)
3382 PID:a1e2bec2 TID:61fb672e AllocSurface :c06fa84(W=183,H=36)
3391 PID:a1e2bec2 TID:61fb672e TestCount=57
3394 PID:a1e2bec2 TID:61fb672e AllocSurface :c06fa2c(W=183,H=36)
3396 PID:a1e2bec2 TID:61fb672e TestCount=58
3436 PID:a1e2bec2 TID:61fb672e +SetPointerShape(0xC06F23C, 0x0, 16, 16, 32, 32)
3470 PID:a1e2bec2 TID:61fb672e +SetPointerShape(0xC06F23C, 0x0, 0, 0, 32, 32)
3475 PID:a1e2bec2 TID:61fb672e +SetPointerShape(0xC06F270, 0x0, 16, 16, 32, 32)
3779 PID:a1e2bec2 TID:61d730f6 AllocSurface :840f5e8(W=128,H=16)
3781 PID:a1e2bec2 TID:61d730f6 AllocSurface :840f5e8(W=64,H=16)
3783 PID:a1e2bec2 TID:61d730f6 TestCount=59
3784 PID:a1e2bec2 TID:61d730f6 TestCount=60
3786 PID:a1e2bec2 TID:61d730f6 TestCount=61
3787 PID:a1e2bec2 TID:61d730f6 TestCount=62
3789 PID:a1e2bec2 TID:61d730f6 TestCount=63
3790 PID:a1e2bec2 TID:61d730f6 TestCount=64
3791 PID:a1e2bec2 TID:61d730f6 TestCount=65
3792 PID:a1e2bec2 TID:61d730f6 TestCount=66
3793 PID:a1e2bec2 TID:61d730f6 AllocSurface :840f63c(W=16,H=16)
3795 PID:a1e2bec2 TID:61d730f6 TestCount=67
3796 PID:a1e2bec2 TID:61d730f6 TestCount=68
3796 PID:a1e2bec2 TID:61d730f6 TestCount=69
3797 PID:a1e2bec2 TID:61d730f6 TestCount=70
3798 PID:a1e2bec2 TID:61d730f6 TestCount=71
3799 PID:a1e2bec2 TID:61d730f6 TestCount=72
3800 PID:a1e2bec2 TID:61d730f6 TestCount=73
3802 PID:a1e2bec2 TID:61d730f6 AllocSurface :840f63c(W=32,H=16)
3803 PID:a1e2bec2 TID:61d730f6 TestCount=74
3804 PID:a1e2bec2 TID:61d730f6 TestCount=75
3805 PID:a1e2bec2 TID:61d730f6 TestCount=76
3806 PID:a1e2bec2 TID:61d730f6 TestCount=77
3807 PID:a1e2bec2 TID:61d730f6 TestCount=78
3808 PID:a1e2bec2 TID:61d730f6 TestCount=79
3809 PID:a1e2bec2 TID:61d730f6 TestCount=80
3817 PID:a1e2bec2 TID:61fb672e BltPrepare:DstWin=(69,102,252,138) //位置正确,但Windows CE上有白点
3822 PID:a1e2bec2 TID:61fb672e TestCount=81
3825 PID:a1e2bec2 TID:61fb672e BltPrepare:DstWin=(0,0,320,240) //Wince桌面任务栏上有条纹,窗口最上面也有细条纹
3846 PID:a1e2bec2 TID:61fb672e TestCount=82
3862 PID:a1e2bec2 TID:61fb672e BltPrepare:DstWin=(65535,143,320,157) //X坐标出错,出现花屏条纹
3868 PID:a1e2bec2 TID:61fb672e TestCount=83
3869 PID:a1e2bec2 TID:61fb672e BltPrepare:DstWin=(65535,146,7,155) //暗花纹叠加白纹
3870 PID:a1e2bec2 TID:61fb672e TestCount=84
3870 PID:a1e2bec2 TID:61fb672e BltPrepare:DstWin=(8,146,9,155)
3871 PID:a1e2bec2 TID:61fb672e TestCount=85
3872 PID:a1e2bec2 TID:61fb672e BltPrepare:DstWin=(10,148,15,155)
3873 PID:a1e2bec2 TID:61fb672e TestCount=86
3996 PID:a1e2bec2 TID:61fb672e BltPrepare:DstWin=(312,145,315,157)
.....................

而且红色部分代码没有不被执行一次。

试用版不会有这个问题吧?
91program 2012-02-26
  • 打赏
  • 举报
回复
如 LS 所说,先排除硬件的问题

再查软件/驱动。可以考虑先用 Remote Zoomin 工具抓图来看看显示是否正确。
帮帮你我她 2012-02-26
  • 打赏
  • 举报
回复
插座或线的问题
Synwell 2012-02-26
  • 打赏
  • 举报
回复
图片如下

http://hi.csdn.net/cp.php?ac=album&op=editpic&albumid=118775&start=0

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧