отображение памяти устройства в оперативной памяти под Linux

какие есть способы?
ищу какие есть способы решения данной проблемы для того, чтоб выбрать оптимальный метод... язык СИ.


Ответы (1 шт):

Автор решения: Sergey

Взаимодействие с устройствами В/В может идти либо через порты В/В, либо через память устройства. Ни тот ни другой механизм в пространстве пользователя не доступны.

В драйвере, для того, что бы работать с памятью устройства необходимо выполнить два действия:

  1. Выделить в ядре область памяти, которая в дальнейшем будет трактоваться ядром, как память устройства. Это делается с помощью request_mem_region() из kernel API.
  2. Затем надо связать выделенную память с памятью устройства, что бы они стали одним целым. Это делается с помощью функуции ioremap().
→ Ссылка