Почему-то я не смог обеспечить вложенные прерывания, если запускаю процессор
в SVC mode. __nested подвешивает тогда прерывания намертво. И никаких тебе приоритетных прерываний.
Таким образом только USER or System.
А без вложенных прерываний - жизнь не мила. Символы RS232 приемника теряются.
Но где-то мелькало сообщение, что WinCE запускает программы юзера в SVC mode. (Товарищ, который об этом писал из пользовательской программы менял таблицу распределения виртуальной памяти и вообще, делал все, что хотел.)
Возможно, если вход-выход из IRQ писать отдельно и читать руками вектор прерывания, то может и можно что-то сделать? И стоит ли?
А то уж очень не хочется ломать прямую загрузку вектора из АИК. Типа, одна команда, практически.
И чем так плоха System mode?