将 linux /dev/fb0 映射到 DDR 进行显示

将 linux /dev/fb0 映射到 DDR 进行显示

我想编写一个Linux驱动程序,将我指定的内存地址空间映射到/dev/fb0。

驱动程序应该由linux的哪一部分指定? drm 或帧缓冲区或服务器 X 或其他东西?我的驱动程序中应该具有哪些属性?

答案1

该驱动程序是一个linux内核模块。

下载linux内核的源码,看看现有的framebuffer驱动的代码drivers/video/fbdev(github这里) 和Documentation/fb(github)。谷歌搜索如何编写内核模块的教程,首先练习一个简单的模块。

仅映射内存是不够的,您必须实现一些ioctl

编写内核驱动程序并不容易。如果你非要问这种问题(而且你在过去几天问了很多),你可能做不到。

X是X协议的服务器。它可以通过 DRM 内核模块使用硬件,也可以通过帧缓冲区驱动程序(使用fbdevX 驱动程序)使用硬件。有关详细信息很容易在网上找到,谷歌。/dev/fb0是一个帧缓冲设备,因此您无需担心 X 或 DRM。

相关内容