芯方式

抓取瞬间花屏frame的layer数据

0
阅读(1915)

[DESCRIPTION]
没法使用Trace32或者cather抓GDI Snapshot的情况,这里讨论的是在START_LCD_TRANSFER之前从LCD IF的layer
controller里面读出数据,压成bmp图片存储在手机或者T卡里面
[SOLUTION]
1. 固定在某一个frame花掉
在进入app的时候设定一个flag以及一个计数刷屏个数的counter,如果发现花屏的瞬间counter值基本一样,可以判断
固定是在某个frame花掉的。
下面这个例子,进入app的时候将hangApp设为TRUE,退出的时候设为FALSE, 进入的app时候同时将tempCount设置为
0,从log可以看到tempCount大概是哪个frame花的,然后用at command调试hangFrame来确定具体是哪个frame花的
kal_bool hangApp = KAL_FALSE;
kal_uint16 tempCount = 0; // 进入app后开始计数
kal_uint16 hangFrame = 0; //用at command调试到具体哪个frame发生花屏
void LCD_BlockWrite_ILI9163(XXX)
{
if(hangApp)
{
tempCount++;
kal_prompt_trace(MOD_ENG, "temp_count:%x",temp_count);
if(tempCount == hangFrame)
while(1){;}
}
…………….
}
可以把花屏的那个frame的每个layer内容存成BMP图片

ICfans