Передача Linux SRAM в RAM DMA

Я использую ядро ​​​​linux 4.1 на черном биглбоне. Я хочу выполнить передачу DMA из SRAM (FPGA, подключенной через GPMC) и обычной RAM. Как бы я это сделал? Я вижу много документации по устройству в память или из памяти в устройство, но не так много по памяти в память.


person Caleb Merchant    schedule 16.06.2016    source источник
comment
Возможный дубликат: stackoverflow.com/questions/37766230/   -  person Sam Protsenko    schedule 16.06.2016
comment
@SamProtsenko, это зависит от того, как адресована SRAM. Если он занимает такое же количество адресного пространства ЦП, то передачи памяти-2-памяти в порядке, в противном случае нужно использовать другой подход.   -  person 0andriy    schedule 17.06.2016
comment
@AndyShevchenko Да, я знаю об этом. Однако хороший момент. Некоторое время назад я работал с IP-ядром GPMC в TI SoC на основе OMAP, поэтому я знаю, что оно отображается в основное адресное пространство. Посмотрите AM335x SoC TRM, раздел 2.1, там указаны адреса от 0x0000_0000 на 0x1fff_ffff для памяти GPMC. Таким образом, копирование DMA из ОЗУ в ОЗУ в этом случае должно работать нормально.   -  person Sam Protsenko    schedule 17.06.2016
comment
Да, глядя на это еще немного, похоже, что передача RAM в RAM будет работать. Однако я еще не подключил устройство GPMC и не настроил ядро. Как я могу быть уверен, что только мой модуль ядра имеет доступ к интерфейсу SRAM?   -  person Caleb Merchant    schedule 17.06.2016
comment
@CalebMerchant Я думаю, вам действительно следует задать это как еще один вопрос.   -  person Sam Protsenko    schedule 17.06.2016