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

VisualDSP++

Возникла проблема портирования проги, написанной для GCC в VisualDSP++.

Подскажите как с ней справиться. Процессо-+р 21k.

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


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

Любая программа написанная на ANSI C практически без изменений компилируется при помощи gcc. С этим заявлением можно конечно и поспорить, но в каких-то частных случаях. Я думаю, что если программа не использует специфические особенности процессора и assembler, то портирование такой программы не является проблемой. 90% моих программ написанных для SHARC работают в LINUX практически без изменений. Остальные 10% учитывают особенности архитектуры и т.д. Поэтому написаны с применение #ifdef и т.д. Чесно говоря вопрос хотелось бы услышать в более развернутой форме.

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


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

Любая программа написанная на ANSI C практически без изменений компилируется при помощи gcc. С этим заявлением можно конечно и поспорить, но в каких-то частных случаях. Я думаю, что если программа не использует специфические особенности процессора и assembler, то портирование такой программы не является проблемой. 90% моих программ написанных для SHARC работают в LINUX практически без изменений. Остальные 10% учитывают особенности архитектуры и т.д. Поэтому написаны с применение #ifdef и т.д. Чесно говоря вопрос хотелось бы услышать в более развернутой форме.

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

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


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

Любая программа написанная на ANSI C практически без изменений компилируется при помощи gcc. С этим заявлением можно конечно и поспорить, но в каких-то частных случаях. Я думаю, что если программа не использует специфические особенности процессора и assembler, то портирование такой программы не является проблемой. 90% моих программ написанных для SHARC работают в LINUX практически без изменений. Остальные 10% учитывают особенности архитектуры и т.д. Поэтому написаны с применение #ifdef и т.д. Чесно говоря вопрос хотелось бы услышать в более развернутой форме.

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

Насколько я понимаю у AD линух идет на BlackFin, есть смысл смотреть их код. Только я-бы делал наоборот - менял процессор, а не среду разработки. :) Хотя, конечно, все определяется задачей.

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


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

(например портирование Линукс-ядра под 21k).

Хоть и VDSP++ GNU совместимый но:

 

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

 

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

 

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

 

ИМХО легче сразу проц правильный выбрать или все затянится на годы.

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


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

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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