[an error occurred while processing this directive]
Глюки...
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено smav 18 октября 2002 г. 11:55
В ответ на: Программирование прерываний на С для DSP отправлено ddev 16 октября 2002 г. 10:50

Разбирались давно, помню примерно.
1. В функции, где разбираются источники прерываний (кажется, int_determinator) есть команда pmovlay=page(xxx). По идее linker должен поставить туда страницу переменной (обычно 0), вместо нее он вгоняет абстрактное число. Кстати, от поддержки прерываний через interrupt() мы отказались - там больше 60 команд на вход в прерывание - DSP превращается в PIC. Лучше переделать startup код и использовать обычные вектора, как на асме.
2. При включенной "оптимизации" программа на 21xx вообще улетает в неизвестном направлении, так как в библиотечной функции завершения подпрограммы загрузка toppcstack выполняется непосредственно перед rts. Кстати, в симуляторе все работает прекрасно.
Вообще от С в VDSP2.0 для 218x осталось тоскливое впечатление - компилятор втыкает кучу абсолютно лишних команд, имеются глюки в компиляторе (в частности, не работает конструкция struct1->struct2->x)
и в симуляторе (см выше). Сейчас разбираюсь с vdsp3.0, может что-то исправилось.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru