1 Linux内核4.14版本——drm框架分析——drm简介( 三 )


(4)在同一时刻,通常一个与一个静态绑定 。
2.2DRM抽象硬件如何关联DRM
DRM的并不难理解,重要的是如何将实际的硬件与这些进行关联,下面会以MIPI DSI接口为例进行介绍软件架构与DRM 的对应关系 。
其中组件说明:
3.DRM简单示例
DRM代码非常庞大,显卡逻辑也非常复杂,在学习DRM架构时,需要通过实践对DRM的流程进行理解,以达到事半功倍的效果 。
下面会以模式设置案例,对DRM架构的流程进行解析 。主要流程如下:
图3.1 DRM 流程总览
3.1 打开DRM设备文件
DRM框架成功加载后,会创建一个设备文件/dev/dri/card0,上层用户应用可以通过该文件节点,获取显卡的各种操作 。
3.2获取显卡资源句柄
打开DRM设备文件后,通过以下函数获取显卡的资源句柄,进而进行显卡资源的操作 。
3.3获取
获取了后,获取它的连接对象 。
3.4创建
创建后,然后映射一片内存,对这块内存进行像素数据填充.
3.5设置Crtc模式
FB创建成功并进行清0操作,可以在里面填充任何数据,然后设置CRTC后,FB的内容就可以显示在屏幕 。
CRTC模式设置函数:(),参数为:fd、crtc句柄、FB句柄、X\Y坐标等 。
3.6资源清理工作
显示完成后,GUI会一直运行,一般不必实施资源清理工作 。
4.安装
下载链接:Index of /
参考:使用的博客-CSDN博客
5.本章小结
本文介绍了DRM架构的发展历史、驱动框架以及简单示例,旨在帮助读者了解DRM架构的形成、功能流程实现,DRM代码庞大且复杂,想要深入理解它的内涵,最好的办法就是根据实际需求来进行代码流程梳理,后续章节也会对该部分进行展开讲解 。
此外,DRM架构符合功能日益强大的现代显示设备,但仍有很多老的设备以及软件需要FB支持,在目前DRM框架中,会存在模拟FB设备的代码,参见/gpu/drm/xxx/drv.c文件,会在设备目录下出现:/dev/fb0。
6. 参考文件
7. DRM图形显示框架 — [野火]嵌入式Linux驱动开发实战指南——基于开发板 文档
深入讲解DRM架构介绍(一)内核站的博客-CSDN博客_drm框架
图形系统(3)---- DRM 显示框架初步 - 简书
linux驱动系列学习之DRM(十)-易微帮
LCD DRM驱动框架分析一沉沦者的博客-CSDN博客
【1Linux内核4.14版本——drm框架分析——drm简介】DRM 驱动程序开发(开篇)_何小龙的博客-CSDN博客