Open2
Maix Amigoの液晶表示にゴミが乗る問題
一旦ドライバ側のSPI DMAコードを写経して非キャッシュ領域からDMAするように変更してみるのが良いかな。...それ以前にまずメモリバリアを張る方法を探さないとダメか。
バカですみません
diff --git a/main.c b/main.c
index 57ba329..082e146 100644
--- a/main.c
+++ b/main.c
@@ -30,8 +30,7 @@ main(void){
fb[320*2*i + curx*2+1] = 0xff;
}
printf("curx = %d, %p, %x\n", curx, fb, (unsigned int)fb[0]);
- amigo_lcd_ips_push_rgnpix(0,0,320,480,fb, 320*480*2);
- //for(;;);
+ amigo_lcd_ips_push_rgnpix(0,0,320,480,fb,320*480);
curx ++;
if(curx == 320){
curx = 0;
word数じゃなくてbyte数をAPIに渡してた。。つまり点滅が発生していたのは 2倍のピクセルデータをLCDに送信する → 画面が2枚描かれる → 2枚目はゴミデータになるのでチラチラする という原理だった。。