Как использовать DMA в Linux для связи со старой картой PCILinux

Ответить Пред. темаСлед. тема
Anonymous
 Как использовать DMA в Linux для связи со старой картой PCI

Сообщение Anonymous »

У меня есть очень старая карта PCI с DPRAM. Предполагается, что Linux отображает DPRAM таким образом, чтобы к нему можно было получить доступ через DMA. Я продолжаю находить статьи, которые помогут мне сделать еще один шаг вперед в этом процессе, но я не могу найти ничего, что давало бы комплексное решение для последних версий ядра.
На данный момент процесс примерно таков: :

[*]Найдите адрес устройства с помощью lspci (например, 04:0e.0)
[*]Запрос /proc/iomem, чтобы получить адрес памяти устройства из предыдущего шага.
[*]Используйте этот код, чтобы попытаться получить сопоставленное местоположение в памяти для DMA.

Код: Выделить всё

int file = open("/dev/mem", O_RDWR);
int addr_from_proc_iomem = 0xb1400000;
void* data = mmap(nullptr, data_size, PROT_READ | PROT_WRITE, MAP_SHARED, file, addr_from_proc_iomem );
Используя отдельное программное обеспечение, которое обращается к карте PCI через последовательный кабель, я вижу, что карта обновляет память, которая должна быть видна в отображенной области памяти, но когда я читаю сопоставленную память, я вижу только нули.
Знает ли кто-нибудь полный пример драйвера Linux, который делает то, что я пытаюсь сделать (чтение DPRAM через DMA в Linux)? Или у вас есть указатели на шаги, которые мне не хватает. Я использую Debian с ядром 6.1.

Подробнее здесь: https://stackoverflow.com/questions/790 ... d-pci-card
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Linux PCI DMA с рассеянным сбором не запускает прерывание
    Anonymous » » в форуме Linux
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Linux PCI DMA с рассеянным сбором не запускает прерывание
    Anonymous » » в форуме Linux
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Swiftui - Странный цвет навигационной планки с картой с картой
    Anonymous » » в форуме IOS
    0 Ответы
    41 Просмотры
    Последнее сообщение Anonymous
  • Ошибка драйвера устройства Linux PCI Express при удалении
    Anonymous » » в форуме Linux
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Linux PCI iomem обнаруживает ошибки доступа к памяти в драйвере устройства
    Anonymous » » в форуме Linux
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Linux»