Beagleboard: Как мне отправлять / получать данные в / из DSP? - PullRequest
6 голосов
/ 15 января 2011

У меня есть beagleboard с TMS320C64x + DSP.Я работаю над приложением beagleboard для обработки изображений.Вот как это будет работать:

  1. ARM считывает изображение из файла и помещает изображение в двумерный массив.
  2. Рука отправляет матрицу в DSP.DSP получает матрицу.
  3. DSP выполняет алгоритм обработки изображения на полученной матрице (код алгоритма использует около 5 МБ динамически распределенной памяти).
  4. DSP отправляет обработанное изображение (матрицу) к ARM.Рука получает матрицу.
  5. Рука сохраняет обработанное изображение в файл.

Я уже написал код для шагов 1,3,5.Какой самый простой способ сделать шаги 3 + 4 (отправка данных)?Примеры кода приветствуются.

Ответы [ 2 ]

3 голосов
/ 15 января 2011

Самый простой способ - использовать разделяемую память:

Используйте модуль ядра CMEM, чтобы выделить часть памяти в ARM, к которой можно получить доступ из ARM и DSP.Затем передайте указатель вниз на DSP с помощью компонента DspBios NOTIFY.

После завершения обработки DSP вы можете уведомить ARM через NOTIFY.

Таким образом, нет необходимости копироватьданные из ARM в DSP или наоборот.Все, что вам нужно, это убедиться, что данные поступают из компонента CMEM.Это гарантирует, что память является непрерывной (DSP не знает о диспетчере памяти ARM).

2 голосов
/ 17 января 2011

Совместная память - правильный подход, но научиться делать это может быть больно.Инструмент C6Run может абстрагировать коммуникации ARM / DSP, чтобы вам было проще.Хотя NOTIFY - действительно подходящий API для использования, C6Run использует CMEM с использованием более старого API.

Если вы хотите попробовать C6Run на BeagleBoard, самый простой способ - следовать инструкциям в вики eLinux.для настройки C6Run для курса ECE597, который дал Марк Йодер в Rose-Hulman .Эти инструкции зависят от запуска демонстрационного образа Angstrom (2).Также задокументирована стабильная версия, которая использовалась для демонстрации функциональности оборудования (3).

(2): www.angstrom-distribution.org/demo/beagleboard (3): code.google.com/ п / BeagleBoard / вики / BeagleBoardDiagnosticsNext

...