Где в памяти блока PS Zynq хранятся данные захваченного изображения процессора Zynq? Так что я могу взять его в PL блок, используя интерфейс AXI
У меня есть камера GigE. Я использую доску Zynq. Теперь, используя программирование Linux, я программирую часть PS процессора Zynq и записываю видео, и теперь у меня есть переменная imagebuffer, которая содержит захваченные данные изображения. Я хочу перенести данные из PS в часть PL с использованием интерфейса AXI. Вероятно, я собираюсь использовать межсоединение AXI_VDMA, проблема в том, что в памяти хранится Imagebuffer, чтобы я мог перенести его в часть PL в Zynq.
Вот изображение процессора Zynq.
1 ответ
Как правило, ЦП обращается к буферу видеоизображений с использованием виртуального адреса ядра или пространства пользователя. В программируемой логике используются физические адреса, поэтому вам нужно будет преобразовать виртуальный адрес в физический адрес и настроить AXI_VDMA для его использования.
В ядре Linux есть драйвер устройства для xilinx_axi_vdma, который использует dma-mapping для решения проблемы виртуального / физического отображения.
См. XAPP792: и соответствующий ему эталонный дизайн для более подробной информации о том, как его использовать.