отображение памяти устройства в оперативной памяти под Linux
какие есть способы?
ищу какие есть способы решения данной проблемы для того, чтоб выбрать оптимальный метод...
язык СИ.
Ответы (1 шт):
Автор решения: Sergey
→ Ссылка
Взаимодействие с устройствами В/В может идти либо через порты В/В, либо через память устройства. Ни тот ни другой механизм в пространстве пользователя не доступны.
В драйвере, для того, что бы работать с памятью устройства необходимо выполнить два действия:
- Выделить в ядре область памяти, которая в дальнейшем будет трактоваться ядром, как память устройства. Это делается с помощью request_mem_region() из kernel API.
- Затем надо связать выделенную память с памятью устройства, что бы они стали одним целым. Это делается с помощью функуции ioremap().