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

Отправлено Олег) 26 июля 2002 г. 23:46
В ответ на: Снова о прерываниях и VDSP 2.0 отправлено mpo 15 июля 2002 г. 14:40

Покоцано из аномалий AD /может, тут собака зарыта:

9839: interrupt stack corruption with nested interrupts
DSP Family: 218x
First Discovered in: VDSP++ 2.0 SP1
Tool: Run Time Libraries
Prognosis: Fixed in an upcoming release (Hot fix available: 218x_Compiler_5.1.9_20020322.zip or later)

The default interrupt dispatcher routine, __lib_int_determiner, has code that is vulnerable to stack corruption if nested interrupts are enabled.

The code in question, in dispat.asm, attempts to use the stack-pointer(SP, I4) to load the values to restore scratch registers after having called a handler. If an interrupt occurs when the SP points to required data the data will likely be corrupted.
---
Сам столкнулся с подобным - обработчик прерывания был написан на C,
ошибка при обработке прерываний появлялась ~раз в 20 мин. Переписал на асме в обход С-шного диспатчера - все заработало.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru