Перейти к содержанию
    

Помогите с материалом по совмещению DSP/BIOS пректа и Linux на OMAP.

 

Очень интересно попробовать такую связку: DSP ядро занимается обработкой данных в масштабе реального времени, а ARM-ядро отвечает за HMI GUI и передачу данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень интересно попробовать такую связку: DSP ядро занимается обработкой данных в масштабе реального времени, а ARM-ядро отвечает за HMI GUI и передачу данных.

Есть такая связка. Видел в живую. делают люди. Но до них не достучаться.

Сам не пробовал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я нашёл интереснейший ресурс

http://labsegeda.org/index.php?title=BBxM_DSP_core

 

там описывается DSPLink. Очень интересный инструмент требующий установки DSP/BIOS и XDCtool. Вопрос: имеется ли доступ к перифирии напрямую из приложения для DSP?

и как производится отладка через JTAG, если не используется CCS (среда сборки Linux)

Изменено пользователем TigerSHARC

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

там описывается DSPLink. Очень интересный инструмент требующий установки DSP/BIOS и XDCtool. Вопрос: имеется ли доступ к перифирии напрямую из приложения для DSP?

По-крайней мере в OMAP L137/L138 вся периферия доступна обоим ядрам. Даже прерывания - если его сконфигурить в одном ядре, то и другое ядро может получать это прерывание.

Для взаимодействия ядер не нужно никаких инструментов - всё взаимодействие очень просто - осуществляется с помощью общей области памяти и 5-ти меж-ядерных прерываний (3+2): каждое ядро может посылать прерывание другому ядру, разместив предварительно некую инфу в общей памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По-крайней мере в OMAP L137/L138 вся периферия доступна обоим ядрам. Даже прерывания - если его сконфигурить в одном ядре, то и другое ядро может получать это прерывание.

Для взаимодействия ядер не нужно никаких инструментов - всё взаимодействие очень просто - осуществляется с помощью общей области памяти и 5-ти меж-ядерных прерываний (3+2): каждое ядро может посылать прерывание другому ядру, разместив предварительно некую инфу в общей памяти.

 

как собрать и откомпилить приложения для DSP ядра и для ARM-ядра понятно(есть описания), но не совсем понятно как отладить такое чудо.

Например: решено разделить функционал устройства между ARM и DSP в OMAP. DSP будет получать данные от АЦП и производить слоджные вычисления в реальном времени, а ARM будет осуществлять передачу данных и визуализацию результатов, полученных от DSP.

Вопрос: программы для ARM и DSP нужно отдельно отлаживать и компилировать? TI предлагает вариант установки DSP BIOS окружения на Linux(для компиляции кода для DSP), как тогда отлаживаться даже имея JTAG в Linux?

 

Мануалы от TI описывают процесс весьма пространно: установка окружения и компиляция демо приложения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорее всего методы отладки классические, характерные для каждого случая. Интерфес между RTOS И Linux эмулируется какой нибудь "заглушкой". После запуска, видимо достаточно только немного подправить код если есть трудности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорее всего методы отладки классические, характерные для каждого случая. Интерфес между RTOS И Linux эмулируется какой нибудь "заглушкой". После запуска, видимо достаточно только немного подправить код если есть трудности.

в том то и дело что нет об этом информации, какие заглушки? как и что?

во всех мануалах только: как поставить окружение и скопилить код. но комерческие программы обычно далеко не сразу с первого раза компилируются как Release

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Заглушка" судя по всему уже готова и отлажена, поэтому достаточно скачать и откомпилить. Если хотите сделать свою, то в принципе можно использовать методики отладки драйверов под Linux, там тоже jtag-ом много не посмотришь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Заглушка" судя по всему уже готова и отлажена, поэтому достаточно скачать и откомпилить. Если хотите сделать свою, то в принципе можно использовать методики отладки драйверов под Linux, там тоже jtag-ом много не посмотришь.

хорошо. джитагом можно постмотреть в CCS. но как же тогда перенести отлаженый код в Linux.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да просто.

Когда драйвера пишу под Linux, то всегда это делаю под RTOSом. Когда всё отлажено и идеально работает, только тогда начинаю переносить код на Линуксовский стандартный шаблон драйвера. Если отлаживаться строго под Линуксом, то времени уходит раз в 20 больше. Интерфейс между ядрами, это по сути тот же драйвер.

Изменено пользователем sevstels

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос: программы для ARM и DSP нужно отдельно отлаживать и компилировать?

Компилировать - отдельно, отлаживать - можно вместе, можно - отдельно. JTAG-ом можно подцепиться одновременно к двум ядрам и шагать/ставить бряки в двух окнах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>ставить бряки в двух окнах.

Не совсем представляю как, если на ARM крутится Linux и вам надо отлаживать Kernel space.

Разве jtag поддерживается в этом режиме?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да просто.

Когда драйвера пишу под Linux, то всегда это делаю под RTOSом. Когда всё отлажено и идеально работает, только тогда начинаю переносить код на Линуксовский стандартный шаблон драйвера. Если отлаживаться строго под Линуксом, то времени уходит раз в 20 больше. Интерфейс между ядрами, это по сути тот же драйвер.

если вам не трудно, напишите пожалуйста по-подробнее. Вы пишете код в CCS в DSP BIOS а потом "стыкуете" с Linux? если "ДА" то как тогда программа под DSP/BIOS становится модулем ядра(проект CCS допиливать надо?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не работаю с TI, только BlackFin, поэтому специфики CCS и DSP BIOS не знаю.

Собственно завершённой комбинированной системы у меня нет, тк проект этот не пошел по стратегическим соображениям, и его прикрыли ввиду моральной деградации BF561. Но что планировал делать и отчасти сделал рассказать не сложно...

 

1. Вместо DSP BIOS отпортил на BF561й scmRTOS.

2. Отпортил uClinux на одно из ядер.

(Тут было довольно сложно, тк опыта было маловато и товарищ помог ядро пропатчить)

3. Написал mdma драйвер для обмена между ядрами.

4. Написал обработчики под RTOSом.

 

Далее потестили это дело, и результат получился не очень хороший, поэтому закрыли.

Очень медленно. Можете посмотреть видео тут с помощью VideoLAN.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

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

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...