Добрый день,
Я пытаюсь определить расположение физической памяти буфера, выделенного видео для linux IO_METHOD_MMAP
Просматривая функцию mmap,
mmap(NULL /* start anywhere */,
buf.length,
PROT_READ | PROT_WRITE /* required */,
MAP_SHARED /* recommended */,
fd, //FileDescriptor
buf.m.offset);
Я вижу, что buf.m.offset равно 0, а затем увеличивает значение buf.length для каждой плоскости.
Я ищу физический адрес в памяти для filedescriptor (fd), созданного устройством /dev/video0.
Это на Im6.
Цель этого - передать этот физический адрес Gpu,
Благодаря,
После успешного mmap
вы можете open
(например, с помощью fopen
), затем последовательно читать (например, используя fgets
) текстовый файл (pipe-like) /proc/self/maps
(а также /proc/self/smaps
).
См. Proc (5)