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