RK平台 2926 3168项目中遇到的问题及解决方案
wangubuntu:
(3)用 io 命令依次向该地址写入 RGB 单元色数据,看屏幕对应的显示情况:
io -w -4 -l 0x3e8000 0x90fe8000 0x00ff0000 红色
io -w -4 -l 0x3e8000 0x90fe8000 0x0000ff00 绿色
io -w -4 -l 0x3e8000 0x90fe8000 0x000000ff 蓝色
注意 -l 参数后面跟的是写入数据的长度,这里都是满屏写入,我使用的设备的
屏幕分辨率为 1280*800,因此一帧数据的长度为 1280*800*4 = 0x3e8000.
正常情况下,依次在串口中输入上面三个命令,屏幕上依次显示红、绿、蓝三种
颜色,如果显示的某种颜色不对,比如写入红色,屏幕上显示的却是蓝色,如果 R 和
B 反了,则应该在屏幕驱动中#define SWAP_RB 1,对 RB 进行交换。如果向 FB 里
面写入 RGB 中任意一种的单元色屏而屏幕显示的图像不是这三个单元色中的任意一
种,那就有可能是屏幕有问题,或者硬件设计有问题,或者中间的转换芯片比如 LVDS
有问题,或者 LVDS_FORMAT 设置的不对。
RK2928 判断颜色方法类似,不过 rk2928 LCDC 的基地址为 0x1010e000
而且 FB0 对应 LCDC0 的 WIN0,WIN0 RGB 数据的基地址寄存器为 0x1010e01c
|