本文介绍Linux系统调试屏幕过程中检查屏幕状态及信息的方法。如:驱动、屏幕连接、分辨率、色彩等状态。基于触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。
DRM显示
- 查看显示驱动
瑞芯微Rockchip平台从Linux 4.4 内核开始,显示驱动全部切到 DRM 显示框架。
DRM全称是Direct Rendering Manager,进行显示输出管理、buffer分配、帧缓冲。对应的userspace库为libdrm,libdrm库提供了一系列友好的控制封装,使用户可以方便的进行显示的控制和 buffer 申请。
DRM的设备节点为/dev/dri/cardX,X数值为0-15,默认使用的/dev/dri/card0。
- 查看显示设备状态
一般对于DRM显示设备测试使用modetest工具。modetest 是一个用于显示和测试 Linux 内核模式设置的工具。可以列出可用的显示模式并测试它们的功能。
查看drm系统的基础状态:
root@ido:~# modetest -M rockchip
Encoders:
id crtc type possible crtcs possible clones
122 0 Virtual 0x00000001 0x00000001
124 68 DSI 0x00000001 0x00000002
Connectors:
id encoder status name size (mm) modes encoders
125 124 connected DSI-1 0x0 1 124
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
#0 800x1280 60.06 800 852 856 868 1280 1340 1358 1408 73400 flags: nhsync, nvsync; type: preferred, driver
props:
...内容省略...
CRTCs:
id fb pos size
68 129 (0,0) (800x1280)
#0 60.06 800 852 856 868 1280 1340 1358 1408 73400 flags: nhsync, nvsync; type:
props:
...内容省略...
Planes:
id crtc fb CRTC x,y x,y gamma size possible crtcs
54 68 129 0,0 0,0 0 0x00000001
formats: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV21 NV16 NV61 NV24 NV42 NV15 NV20 NV30 YVYU VYUY YUYV UYVY
props:
...内容省略...
Frame buffers:
id size pitch第一部分的Encoders输出和第二部分的Connectors对应,从Dump 输出我们可以看到:
Connector DPI-1的id为125,它对应的Encoder id为124,并处于connected状态,说明底层驱动已经检测到了该 DPI接口上已经有显示设备连接。
modes是驱动上报的对应显示设备支持的分辨率。
- 输出彩条测试屏幕
检测到drm正常后,可以在显示屏上输出彩条:
#其中125是DPI-1的id,68是crtc
modetest -M rockchip -s 125@68:800x1280通过上述命令,可以在DSI上显示类似下边的smpte彩条。
液晶背光设置
使用backlight设置液晶屏的背光亮度,背光值设置范围0~255:
#背光设置为150
echo 150 > /sys/class/backlight/backlight/brightness产品简介
触觉智能RK3562开发板(型号EVB3562),基于瑞芯微新一代SoC RK3562/RK3562J设计,可用于轻量级人工智能应用。配套核心板仅149元起售!
配套资料完备:提供检测报告、核心板规格书、开发板原理图、用户手册等丰富配套资料,还有开发选型指导、FAE 技术支持等贴心服务,助力开发者快速上手。
