去年画第一版972的板时,买回来的这块屏,4.3寸,800*480分辨率。当时接上去后就不正常,四角发暗,全屏有细线。
后来放置了几个月。年后新画的板回来,再接上这个屏,显示挺正常。
今早重新编译uboot、内核、根文件系统后烧录进去,发现屏幕变成这样了。烧回原来的uboot、内核、根文件系统后,还是不正常。
新编译的文件系统动过rgb接口参数那里,不记得原来是什么了,改成rgb888,24位。
群里有朋友指出是lcd极化现象,放置几分钟就好了。不过我放置了很久,还是那样。我把rgb888改成565后稍正常点了。
对了,记得之前正常的时候,选的也是rgb565。如果选rgb888的话,屏幕上变动的命令行下边会有闪烁的线条。
最近编辑记录 Gentlepig (2020-04-27 16:35:03)
离线
换成rgb888,24位,正常了,四角发黑现象很不明显了。
来回编译了很多次内核。也不太确定解决的原因。暂时觉得有以下三种可能:
1.可能就如群里朋友说的那种,液晶屏极化了,过段时间就好了。
2.rgb565、rgb888,16位、18位、24位,组合错误。
3.uboot和kernel里的lcd型号选的不一致,uboot选的是开头有个050的屏,kernel选的是开头有个070的屏,虽然都是5寸的800*480分辨率的屏。实际我接的是个4.3寸800*480的屏。
现在的情况是,选的rgb888,24位,uboot和kernel选同一种型号的屏。目前感觉回到了昨天出问题以前的状态。
植入企鹅图标颜色的问题,是因为我为了拉线方便把R和G整组调换了。所以显示的是这种颜色的企鹅。
也不知道Nuc972能不能在软件上设置下把颜色改正回来。
最近编辑记录 Gentlepig (2020-04-28 09:10:08)
离线
翻Nuc972手册,看到DEVICE_CTRL寄存器里的17-18位是这样描述的:
[18:17]
[LCD_ODD :
SEL_ODD]
00 = First line data is RGB, second line data is GBR.
01 = First line data is BGR, second line data is RBG.
10 = First line data is GBR, second line data is RGB.
11 = First line data is RBG, second line data is BGR.
DEVICE_CTRL寄存器的位置是:0xB0008004;
我修改了linux的arch/arm/mach-nuc970/dev.c和uboot的driver/video/nuc970fb.c里的.devctl默认值中的17-18位改成01了。
结果烧录进去后还是红蓝互换。
用devmem #0xB0008004 32查看,得到的结果是:0x070200C0
这样看已经改了啊,难道改的地方不对?
------------------------------------------------
DEVICE_CTRL寄存器的位3、4是控制数据偏移的,默认是00,我试着改成10,仍没效果。
RGB Data Output Shift For Sync-Type LCD Panel
When DEVICE (DEVICE_CTRL[7:5]) = 100, 101.
00 = Not Shift.
01 = Shift One Cycle.
10 = Shift 2 Cycle.
11 = Not Defined.
RGB Data Output Arrangement for 262K MPU-Interface LCM.
# devmem 0xB0008004
0x070200D0
最近编辑记录 Gentlepig (2020-04-28 12:36:58)
离线
我不明白如何改驱动。
我以为修改.devctl的默认值,就是改驱动。编译并烧录进去,没效果。
离线