Цитата(sapID @ May 5 2005, 08:52)
У IAR во всех примерах в файле Cstartup.s79 обработчик FIQ (FIQ_Handler_Entry) сначала переходит в SVC-режим, а затем идет на твой C-обработчик (my_fiq).
Естественно, в SVC-режиме нет теневых регистров - вот он их и сохраняет.
Так как FIQ я использовал только для критичных по времени прерываний, то и писал его на ассемблере, чтобы он ничего лишнего не делал.
В startup нет никаких перехватов обработчика fiq и смены режима.
Я не знаю, где ты это увидел, может покажешь, но стандартный стартап
(который в src/lib лежит) вообще не устанавливает вектора, в расчете на то,
что ты будешь пользоваться для этого #pragma vecror=...
В большинстве примеров вообще вектора устанавливаются на самих себя,
видимо только для того, чтобы вообще быть куда-то установленными
Никаих дополнительных действий до входа в irq нигде не производится.
Пасу котов...