Linux开发板调屏方法,实战经验让您少走弯路

B站影视 韩国电影 2025-06-05 14:37 2

摘要:本文介绍Linux系统调试屏幕过程中检查屏幕状态及信息的方法。如:驱动、屏幕连接、分辨率、色彩等状态。基于触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子

本文介绍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:

idcrtctype possible crtcspossible clones

1220 Virtual 0x00000001 0x00000001

12468 DSI 0x00000001 0x00000002

Connectors:

idencoderstatusnamesize (mm)modesencoders

125 124 connectedDSI-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:

idfbpossize

68129(0,0)(800x1280)

#0 60.06 800 852 856 868 1280 1340 1358 1408 73400 flags: nhsync, nvsync; type:

props:

...内容省略...

Planes:

idcrtcfbCRTC x,yx,ygamma sizepossible crtcs

54681290,00,00 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:

idsizepitch

第一部分的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

来源:Industio触觉智能

相关推荐