2010-09-26 2 views
1

Я работаю над программным обеспечением для управления устройством mmap'd во встроенной системе ARM, но столкнулся с несколькими ситуациями, когда доступных средств для отладки и разработки недостаточно. То есть инструменты инструментария, такие как профилировщики valgrind и более высокого конца, недоступны.Как прокси-сервер mmap читает и записывает по сети?

То, что я хотел бы сделать, - это скомпилировать мой код на машине x86, mmap «фиктивный» сегмент памяти, используя тот же размер, а затем прокси-сервер, который считывает/записывает по сети во встроенную машину, которая затем может ответить соответственно.

Я понимаю, что это, скорее всего, потребует механизма клиент/сервер и будет мучительно медленным, но преимущества использования этой опции сделают механику вне интерфейса mmap (обработка асинхронных событий, управление потоками) доступной для инструмента с использованием x86 инструменты для разработки были бы очень полезными.

Я слышал об этой технике в некоторых разработках ASIC для моделирования, но никогда не использовал ничего, что обеспечивало эту функциональность. Ключевым моментом здесь является то, что я хочу использовать тот же код на обеих платформах, не переписывая кучу вещей, или должен написать модуль ядра, в котором есть всякая логика обработки аппаратного обеспечения. Я хочу сохранить всю логику управления устройством в пользовательской области через mmap.

ответ

1

Если вы считаете это возможным, в основном это сводится к внедрению удаленной файловой системы.

  • «самый легкий», вероятно, если ваш встроенное устройство может реализовать простую версию клиента стороне NFS и mmap файл на настольном компьютере
  • обратное также должно быть возможно, а именно, чтобы модули сервера nfs работали на вашей встроенной системе и до экспортировали что-то вроде /dev/shm в качестве точки монтирования nfs на рабочий стол.

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

+0

Интересное предложение, я исследую! – synthesizerpatel

0

Я хотел что-то подобное в прошлом, но так и не смог реализовать его. Однако, возможно, вы захотите дать что-то вроде memcached, я знаю, что он обычно используется для материалов на основе web/db, но для этой цели можно было бы злоупотреблять этим, тем более, что он предназначен для отладки.

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