Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: VisualDSP++
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
KuzmaPrytkov
Возникла проблема портирования проги, написанной для GCC в VisualDSP++.
Подскажите как с ней справиться. Процессо-+р 21k.
olefil
Любая программа написанная на ANSI C практически без изменений компилируется при помощи gcc. С этим заявлением можно конечно и поспорить, но в каких-то частных случаях. Я думаю, что если программа не использует специфические особенности процессора и assembler, то портирование такой программы не является проблемой. 90% моих программ написанных для SHARC работают в LINUX практически без изменений. Остальные 10% учитывают особенности архитектуры и т.д. Поэтому написаны с применение #ifdef и т.д. Чесно говоря вопрос хотелось бы услышать в более развернутой форме.
KuzmaPrytkov
Цитата(olefil @ Jul 21 2005, 19:02)
Любая программа написанная на ANSI C практически без изменений компилируется при помощи gcc. С этим заявлением можно конечно и поспорить, но в каких-то частных случаях. Я думаю, что если программа не использует специфические особенности процессора и assembler, то портирование такой программы не является проблемой. 90% моих программ написанных для SHARC работают в LINUX практически без изменений. Остальные 10% учитывают особенности архитектуры и т.д. Поэтому написаны с применение #ifdef и т.д. Чесно говоря вопрос хотелось бы услышать в более развернутой форме.
*

Вопрос в том возможна ли компиляция программ написанных для GCC под VisualDSP(например портирование Линукс-ядра под 21k).
tvv
Цитата(KuzmaPrytkov @ Jul 22 2005, 08:59)
Цитата(olefil @ Jul 21 2005, 19:02)
Любая программа написанная на ANSI C практически без изменений компилируется при помощи gcc. С этим заявлением можно конечно и поспорить, но в каких-то частных случаях. Я думаю, что если программа не использует специфические особенности процессора и assembler, то портирование такой программы не является проблемой. 90% моих программ написанных для SHARC работают в LINUX практически без изменений. Остальные 10% учитывают особенности архитектуры и т.д. Поэтому написаны с применение #ifdef и т.д. Чесно говоря вопрос хотелось бы услышать в более развернутой форме.
*

Вопрос в том возможна ли компиляция программ написанных для GCC под VisualDSP(например портирование Линукс-ядра под 21k).
*


Насколько я понимаю у AD линух идет на BlackFin, есть смысл смотреть их код. Только я-бы делал наоборот - менял процессор, а не среду разработки. smile.gif Хотя, конечно, все определяется задачей.
bmf
Цитата(KuzmaPrytkov @ Jul 22 2005, 08:59)
(например портирование Линукс-ядра под 21k).
*
Хоть и VDSP++ GNU совместимый но:

1. Сначала портируйте всю библитеку glib или newlib, родная в ADSP сильно упрощенная (это тоже большой кусок работы)

2. Размер байта. Если не хотите проблем он должен быть 8 бит или придется весь код пересматривать полностью заново. Думаю в BlackFin из-из этого она и была введена.

3. Если это Linuх, а не ucLinux no необходим MMU т.к. любая задача работает в виртуальном пространстве и думает что ей доступна вся память.

ИМХО легче сразу проц правильный выбрать или все затянится на годы.
olefil
Могу сказать однозначно возможно. Но придется немного постораться. Нет возможности дать какие-то стандартные решения для портирования unix программ. Что касается ядра Linux под Sharc, мне кажется это пустая затея, эти процессоры плохо приспособлены для таких вещей (Одно сохранение контекста чего стоит). Да еще есть ограничение для gcc программ написанных для последних версий gcc, они написаны по стандарту C99, VDSP его не поддерживает. Но я опхожу это написанием собственных подпрограмм. Принципиально, практически любой код С можно адаптировать, но есть проблемы с asm. Там естественно надо понимать, что хотел сделать программист написав 10 строк кода, очень часто они превращаются в 2-4 команды.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.