2016-07-03 10 views
-1

Я установил блок чипов SRAM на моем макете. И я хотел бы получить прямой доступ к этой памяти из Linux, подключив ее к шинам адреса и данных через какой-то интерфейс USB. Затем я хотел бы, чтобы Linux видел и рассматривал его как обычный логический блок памяти, чтобы я мог порождать процесс и назначать блок SRAM своим собственным адресным пространством, не зная, что его память полностью внешняя.Блок внешней логической памяти через интерфейс USB?

Существует ли такое устройство USB для прямого подключения к шине памяти? Может быть, что-то, что появляется в Linux как блочное устройство? Я понимаю, что, учитывая блок-устройство, я смогу сопоставить его в памяти с помощью mmap(), и оттуда процесс не будет знать разницы.

Если нет, то какой самый простой и элегантный способ сделать это? Я мог бы подключить шину к контактам GPIO и написать драйвер блока устройств для взаимодействия с ним и использовать mmap(). Или я мог запрограммировать микроконтроллер для интерфейса с шиной памяти и принимать команды через последовательный интерфейс и возвращать результаты. Но, если возможно, я бы предпочел не брать крючок, так сказать, и принять самый быстрый и самый прямой и естественный путь для достижения этого.

ответ

1

USB палочки реализовать устройства класса Mass Storage https://en.wikipedia.org/wiki/USB_mass_storage_device_class (выглядит как блочное устройство) Драйвер

Линукс хозяин знает класс массовой памяти.

Вы можете использовать запоминающие устройства (например, USB флэш-памяти) в качестве виртуальной памяти (не точно так же, как mmap() ссылка ниже), объявив его как подкачки памяти увидеть это http://www.tuxgarage.com/2011/07/add-virtual-ram-to-ubuntu-using-spare.html

https://en.wikipedia.org/wiki/Virtual_memory

MCU на макете должен реализовать класс запоминающего устройства большой емкости, чтобы это работало.

Смотрите также эту нить Reading from USB device and writing to physical address

для Atmel примеров и исходного кода смотрите в библиотеке LUFA http://www.fourwalledcubicle.com/LUFA.php

 Смежные вопросы

  • Нет связанных вопросов^_^