Android Display User space - 内核空间交互。
我目前的理解是,有一个用于帧缓冲区的内核驱动程序,它通过调用mdss_mdp_alloc_fb_mem()
这在 ION 雕刻区域(我的情况 - 0x7ee00000)中的地址分配一些内存(在我的情况下大小:800000)。
Android 以某种方式写入该区域,显示驱动程序读取并显示它。我的理解可能有误。如果是这样,请您纠正我。
我很想知道 Android 代码(Surface Flinger 或 Open GL 或任何其他库)写入分配的帧缓冲区(fb)的确切位置。我想要它在代码中。我在我的平台上遇到了屏幕截图问题。它发生在正常情况下,但在故障转储期间(由于任何原因,如恐慌)屏幕截图是从上述地址(映射的虚拟地址)捕获的,我只看到一个空白屏幕。
所以对于我的问题,android 写入 fb 的效果如何,是 android 正在写入 /dev/graphics/fb0 吗?
如果是这样,我如何在代码中确认它?
代码不是那么简单,我不是 C++ 程序员。如果有人可以帮助我,那将是一个很大的帮助。