本帖最后由 robe.zhang 于 2021-6-16 09:57 编辑
【ALINX AXU2CGB试用】framebuffer 驱动源码分析
Framebuffer 驱动源码位于drivers\video\fbdev\xilinxfb.c 文件中 Platform driver 驱动,先看 xilinxfb_of_probe 函数,初始化一个 pdata,一个 drvdata,调用xilinxfb_assign 去注册 framebuffer驱动 xilinxfb_assign 函数中设置 info 结构体变量,成员变量 fix var fbops 分别赋值,之后调用register_framebuffer 注册 framebuffer Fix var 成员变量初值: xilinxfb_ops 是 framebuffer 的方法: xilinx_fb_setcolreg 算法,如何用 R,G,B 三个通道的颜色值设置一个像素的颜色值 xilinx_fb_blank 清屏 cfb_fillrect画矩形函数: 实际实在 bitfill_ 开头的几个函数中画矩形的 cfb_copyarea 复制块函数 cfb_imageblit图像传输 register_framebuffer 调用 do_register_framebuffer 注册 framebuffer do_register_framebuffer 中创建 设备文件,注册驱动
文件操作方法是在 fbmem_init 函数中:
Open 函数
Release 函数
Mmap 函数
Read 函数
Write 函数 仅以此为例看一下framebuffer 驱动工作流程,自己再详细分析。
|