Как бы я получил R / W доступ к определенному адресу памяти, используя C / Stack Overflow

Поэтому, думая о том, как я бы сделал свое собственное оборудование / драйверы, я использую GPIO, и я знаю, что GPIO на самом деле использует определенные банки памяти в определенном диапазоне для всего оборудования, но как бы я начал читать и записывать их в эту память? банки?

Работает ли USB аналогичным образом?

P.S Я использую Raspberry Pi.

2

Решение

Если вы используете Linux, вы также можете использовать Proc interface общаться с GPIO. Например, если вы видите это ссылка на сайт, он показывает, как контакты GPIO могут быть прочитаны или записаны непосредственно из командной строки.

1

Другие решения

Если вы используете систему, которая поддерживает mmap (), https://groups.google.com/forum/?fromgroups=#!topic/comp.os.linux.development.apps/2kiUc-dNa3c обсуждает использование mmap() сделать это. В итоге ваш процесс откроет / dev / mem для чтения и записи и отобразит ваш базовый физический адрес как смещение в файл (а ваш параметр addr — это любой виртуальный адрес, который вы хотите использовать).

0

По вопросам рекламы [email protected]