我用了beaglebone black的7" 1024 600的cape
原先的uboot和linux都是24bit的lcd输出,linux下我改了输出为16bit成功的
但uboot下面我根据暑假手持修改寄存器
am335x 16bit tft 输出模式设置:
RASTER_CTRL[9, 7, 1] Active (TFT) Color 16 x10
16 BPP in active mode (LCDTFT = 1 and TFT24 = 0 in RASTER_CTRL)
屏幕却乱闪
不知道有无什么齐其他寄存器需要修改?
Gary Wu:
你好!请参考AM335X的errata。16bit下的色彩数据线序和24bit不一样
gener gener:
回复 Gary Wu:
色彩也只是低位少了颜色不是很好而已,不至于引起闪烁,但我在uboot下用 mw命令修改RASTER_CTRL寄存器的tft24位却导致屏幕闪烁得很厉害,
Gary Wu:
回复 gener gener:
请查看errata,AM335X在24bit和16bit模式之间的色彩数据线有变化。并不是简单的少几根线。
如果你仅仅是设置为24bit模式而外接16bit的LCD,那是可以RGB分别的低几位不接。
gener gener:
回复 Gary Wu:
我改为16bit的lcd输出为了减少内存带宽提高性能,因为往fb填充数据可以更快。
液晶屏倒是24bit的,所以只是颜色有点反色,不至于引起闪烁,我特地往fb的地方用mw命令清零
看到有一半的输出帧是黑色的,但另外一半则是橙色的花屏,
所以看起来就闪烁
您不信可以试试,进入uboot模式下 md 0x4830E028 1
可以看到0608008
用mw 0x4830E028 0x 0408008
即修改了tft24bit的寄存器为0
可以看到屏幕就开始闪烁。
linux下面我也相同的硬件,改动屏幕为16bit设置则只是颜色偏色,不至于闪烁
谢谢!
gener gener:
回复 gener gener:
偏色是知道的,我问的是闪烁的问题啊,至今不知道哪个寄存器影响的。
Yaoming Qin:
回复 gener gener:
闪烁会不会是你配置的时序问题,而不是性能的问题
TI中文支持网

