Доброго времени суток !
Перерыл много интернета и пока так и не нашёл внятного объяснения как лучше сделать простую, казалось бы, вещь - временно отключить все прерывания, а затем включить. Использую Keil + armcc 5.02, пишу под LPC2103.
Разные __disable_irq() и __enable_irq() не будут работать в пользовательском режиме как и прямое изменения флагов в CPSR. Мне нужно всего-лишь сбрасывать WDT отключив прерывания. Прочитал что для того что-бы выполнять код будучи уверенным что не возникнет прерывание, можно использовать SWI функции которые работают в привилегированном режиме. Но для этого нужно использовать RTX kernel, без чего хотел обойтись.
Неужели остаётся только всегда использовать system mode ? Подскажите путь истинный )
Сообщение отредактировал flakman - May 8 2013, 06:36
|