[an error occurred while processing this directive]
|
Покоцано из аномалий 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: info@telesys.ru