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

Отправлено SNN 12 мая 2001 г. 03:41
В ответ на: Прерывания UART и таймера ADSP-21065L отправлено Nicolai 11 мая 2001 г. 18:58

Именно с EZ-LAB я не работал, ADSP-21065L у нас стоит в другом устройстве, но:
1) Как именно выражается конфликт и на чем пишите программу (C or ASM).
2) Вам нужна возможность смены векторов прерываний in Run time, или процедура обработки назначается раз и навсегда?

В случае, если Вы используете С.
По моему опыту С несколько некорректно обрабатывает вызов некоторых прерываний, например прерывания по ошибкам, и в том числе низкоприоритетное прерывание таймера (высокоприоритетное вроде нормально). Некорректно - в том смысле, что обработчик просто не вызывается :( Другой "радостный" факт С - даже при использовании "супербыстрой" interrupts обработчик вызывается за время > 1мкс на 33Мгц, лично у меня это счастье вызвало длительный и буйный восторг.

Радикальное решение проблем с прерываниями - полная замена или редактирование 060_hdr.asm (c соотв. коррекцией ldf), т.е. изменение стандартной таблицы векторов С, с однозначной привязкой обработчиков.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru