icfans

MT6252 Dual lcd(10A1108)主屏hang住

0
阅读(799)

[DESCRIPTION]
MT6252 Dual lcd(10A1108)主屏hang住
[SOLUTION]
START_LCD_TRANSFER是DMA传输data用的,如果在blockwrite中用for循环,使用cpu方式刷屏的话,可以不用这个命令

但是在10A1108的版本上会因为,lcd不会起transfer complete的中断去置event,而一直等event而hang住。
所以,请在lcd_fb_update_19_26_28_series()函数中修改如下:
if(_lcd_caller_is_in_task())
{
if(lcd_para->lcd_id==MAIN_LCD){//MODIFY HERE
kal_retrieve_eg_events(lcd_event_id_for_wait_loop, LCD_WAIT_TRANSFER_COMPLETE_EVENT,
KAL_OR_CONSUME, &event_group, KAL_SUSPEND);
}
}
else
{

半导体
DMA传输当然最好了,这个不需要占用cpu。能用DMA的,就一定可以用cpu方式。
但是并不是每个小屏都可以support DMA方式传输data。这个只能是屏本身的限制。
如果不能用DMA的话,在blockwrite中就不去配置lcd的中断了,所以才有必要在lcd_fb_update_xxxx_series()中把小
屏等event的去掉。