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

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

Отправлено Doka 13 июня 2005 г. 17:39

вроде все как в spru371 написано делаю:

написал программу, которая по прерыванию таймера мигает LEDом на XF
сам таймер работает... пин XF отдельно от него тоже..
разрешаю прерывание в IER0
затем в бите INTM = 0

в кмд-файле линкера:

MEMORY {
DATA(RWI): origin = 0x6000, len = 0x4000
PROG: origin = 0x0100, len = 0x4E00
VECT: origin = 0xFF00, len = 0x0100
}
SECTIONS
{
...
...
...
.vectors: {} > VECT
}

в vectors.asm
.sect ".vectors" ; start vector section
.global _vecs
.ref _c_int00,_ISR_gpt0 ; symbol referenced from other file
_vecs: .ivec _c_int00
NMI: .ivec 1
INT0: .ivec 2
INT2: .ivec 3
TINT0: .ivec _ISR_gpt0


в главном Си-файле объявляю (как рекомендовано в TMS320C55x C/C++ Language):
interrupt void ISR_gpt0(void);
ну и + сама процедура обработчика прерывания
никаких ерроров и ворнингов нет...

непонятно вот что: почему не инициализируются регистры IVPD и IVPH т.е. в них "сидит" значение при сбросе 0xFFFF :(
попытки вручную инициализировать их значением начала таблицы векторов прерываний (0xFF00) тоже ни к чему не приводят:(

ЗЫ: да, все написанное про обслуживание прерываний на Си (и я так пониаю что от vectors.asm все равно не деться (в том смысле от асемблерной таблицы векторов) )
ЗЫЫ: где бы посмотреть примеры программирования - а то всё Сишное в CCS/Examples либо для DSP-BIOS либо для юзанья совместно с CSL :(


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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


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

E-mail: info@telesys.ru