完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、有关DRM的一些基础概念
1.1、连接器 对应屏幕,比如主控芯片通过HDMI、MIPI DSI,分别接2个屏幕显示,会有2个的Connectors ID; 1.2、CRTC 表示VOP,一个屏幕一般的crtc; 1.3、飞机 就是图层,比如视频层在plane2,UI在plane1,视频在UI上面; 2、通过modetest查看系统DRM的情况 例如在RV1109的开发板端执行modetest,我们可以看到以下输出信息: [root@RV1126_RV1109:/oem]# modetest 编码器: id crtc 类型可能的 crtcs 可能的克隆 55 53 DSI 0x00000001 0x00000000 连接器: id 编码器状态名称大小(毫米)模式编码器 56 55 连接 DSI-86 模式 名称:1111456刷新模式Hz) hdisp hss hse htot vdisp vss vse vtot) 1024x600 54 1024 1240 1310 1470 600 612 622 645 51200 标志:nhsync、nvsync; 类型:首选,驱动程序 道具: 1 EDID: 标志:不可变 blob blob : 值: 2 DPMS: 标志:枚举 enums:On=0 Standby=1 Suspend=2 Off=3 值:0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 43 Brights: flags: range values: 0 100 value: 50 44 contrast : flags:范围 值:0 100 值:50 47 饱和度: flags:范围 值:0 100 值:50 48 色调: 标志:范围 值:0 100 值:50 CRTC: id fb pos size 53 57 (0,0) (1024x600) 1024x600 54 1024 1240 1310 1470 600 612 622 645 51200 标志:nhsync、nvsync; 类型:首选,驱动程序 道具: 38 左边距: 标志:范围 值:0 100 值:100 39 右边距: 标志:范围 值:0 100 值:100 40 上边距: 标志:范围 值:0 100 值:100 41底部边距: 标志:范围 值:0 100 值:100 51 特征: 标志:不可变位掩码 值:afbdc=0x1 值:0 平面: ID CRTC FB CRTC的x,y的x,y伽马大小可能crtcs 52种53 57 0,0 0,0 0 00000001 格式:XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 道具: 8类型: 国旗:不可变的枚举 枚举:叠加= 0主= 1 Cursor=2 value: 1 50 FEATURE: flags: immutable bitmask values: scale=0x1 alpha=0x2 hdr2sdr=0x4 sdr2hdr=0x8 afbdc=0x10 value: 2 54 0 0 0,0 0,0 0 0 0x204 XAR AB24 RG24 BG24 RG16 BG16 NV12 NV16 NV24 props: 8 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 0 50 FEATURE: flags: immutable bitmask values: scale=0x1 alpha=0x2 hdr2sdr=0x4 sdr2hdr=0x8 afbdc=0x10 value: 3 Frame buffers: id size pitch从以上信息,我们能够: 2.1、连接器 该显示输出的最大分辨率是1024x600,刷新频率54z; 2.2、CRTC 观察以上信息,我们可以看到CRTC有1个,ID为53; 2.3、飞机 观察以上信息,我们可以看到平面有2个,即代表有2个图层,ID分别为52、54。平面53当前类型值为1,代表是主图层;平面55当前类型值为0,代表是叠加层; 2.3.1、主层 2.3.2、叠加层 3、通过modetest指令测试屏幕输出 我们可以根据以上模式测试检测的信息,然后发送以下命令让色块显示到LCD输入出来上,在ARM端以下命令: modetest -s 56 @53:1024x600@RG24其中: 56,对应连接器ID; 53,对应的CRTCs ID; 1024x600,输出最大分辨率; RG24,代表RGB888,每个像素点24bit,R/G/B各8bit; 执行以后,我们可以看到屏幕上的显示效果: 4、如何用/sys/kernel/debug/dri进行监控 4.1、查看/sys/kernel/debug/dri下的节点 ls /sys/kernel/debug/dri/0/可以看到: 4.2、获取dri的状态 cat /sys/kernel/debug/dri/0/state可以看到: 4.3、查看驱动器当前的显示状态 cat /sys/kernel/debug/dri/0/summary可以看到: 从上面信息可以发出: VOP的状态是ACTIVE,表示正在运行中,如果是DISABLED,表示VOP没有在运行。 Connector:DSI 表示对应屏幕接口的名称。 显示模式表示当前显示的分辨率和频率为,即分辨率为1024*600,频率为54fps。 4.4、查看当前的显示面板 cat /sys/kernel/debug/clk/clk_summary | grep vop可以看到: 关于dclk即像素时钟,像素显示,该时钟由具体的时序决定,如果dclk 不正确,可能导致fps 定位或不直接显示。影响正常显示。但是hdmi,dp等高清显示,是有非常高要求的接口,这种显示很深的频率要给的合成。 DCLK频率 指的是像素传感器,跟数据,液晶屏幕屏幕,像素电话信号的频率也传输。 1024×768个液晶屏,一行有1024个像素,则在一排中(对应于有效的视频间隔)像素的个数也是1024个。 aclk_vop:如果频率太高,可能会导致显示低声显示,那么如果aclk 没有能力的话,访问vop 的数据也可能引发总线挂死 hclk_vop:如果该时钟未使能,不能访问vop 的驱动器,但访问vop 寄存器,会导致总线挂死。 5、如何用/sys/类/drm进行监控 5.1、查看/sys/drm/目录下的节点 ls /sys/class/drm可以看到: 5.2、获取DRM连接器的名称和当前状态 ARM终端输入: 对于 /sys/class/drm/*/status 中的 p;做 con=${p%/status}; echo -n “${con#*/card?-}:”; 猫 $p; 完成可以看到: 当前还有其它的节点可以访问。 6、基于RK平台MIPI DSI设备调试实战 6.1、查看显示驱动是否已经正常加载 以RK平台为例,之前一直发酵的是RV1126_RV1109,RK在实现了自己的专属DRM显示框架: MIPI DRM 驱动的加载存在依赖关系,所以可能会多次因为驱动资源暂时获取而无法返回-517,但只要配置正确,待相关组件完整完整获取到资源后,最终将能够成功,如果没有见下: [ 0.889511 ] rockchip - drm 显示-子系统:绑定 ffb00000。VOP(ops0xb093e180) [ 0.889613 ]瑞芯- DRM 显示-子系统:结合 ffb30000。dsi ( ops0xb09448ac )则绑定失败,通讯异常。 注意:如果你确定软件上已经没问题了,因为有半个硬件连接的问题,MIPI 排线比较脆弱,很容易导致接触不良。 6.2、查看显示信息 查看命令如下: cat /sys/kernel/debug/dri/0/summary 6.3、查看当前连接状态 查看命令: cat /sys/class/drm/card0-DSI-1/status 6.4、查看当前使能状态 cat /sys/class/drm/card0-DSI-1/enabled 6.5、查看当前支持的显示模式 查看命令: 猫 /sys/class/drm/card0-DSI-1/modes |
|
|
|
只有小组成员才能发言,加入小组>>
793 浏览 0 评论
1152 浏览 1 评论
2528 浏览 5 评论
2861 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2711 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1072浏览 3评论
195浏览 2评论
457浏览 2评论
370浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
455浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 23:49 , Processed in 0.968307 second(s), Total 49, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号