Всех приветствую.
Щас вот потихоньку ваяю некую систему по передачи данных из одной железки в другую, а потом забор от второй железки для отображения в «реалтайме» на монике.
В силу специфики приходится использовать определенные решения на которые повлиять я не в силах. Поэтому хочется сделать быстро и красиво из того что есть.
Немного про компоненты.
1. Железяка которая по DMA через PCI мне шлет кучу данных (все обмазано кучей драйверов и библ на Scatter/Gather и прочее). В итоге я имею в оперативе буфер куда все сливается. Приложение для приема данных пишу я сам, так что могу изгаляться как угодно.
2. другая железяка, в которой куча DSP-ядер, которая на входе получает файл, из него все читает и выплевывает результат в другой файл.
Хочется как-то данные из моего буфера быстро и не напряжно завернуть так чтобы вторая железяка думала, что читает из своего файла, а на самом деле из моего буфера. Первые мысли это конечно придумать именованный FIFO. Но возникает вопрос как в него быстро передавать мой буфер. Потому как буфер в котором я получу данные от железки1 где-то в ядре. И мне (если я правильно понял) копируется в юзерспейс, а запись в FIFO это опять копирование из юзерспейса обратно в ядро. Хочется сделать это все как-нидь без лишних движение. В принципе все исходники всех библ, драйверов и утилит у меня есть. По большому счету вопрос в том как отобразить буфер в системной памяти на FIFO, чтобы запись в этот буфер сразу приводило к заполнению этого FIFO. Надеюсь не слишком сумбурно.