Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2103. Запрет прерываний во время сброса WDT.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
flakman
Доброго времени суток !

Перерыл много интернета и пока так и не нашёл внятного объяснения как лучше сделать простую, казалось бы, вещь - временно отключить все прерывания, а затем включить. Использую Keil + armcc 5.02, пишу под LPC2103.

Разные __disable_irq() и __enable_irq() не будут работать в пользовательском режиме как и прямое изменения флагов в CPSR. Мне нужно всего-лишь сбрасывать WDT отключив прерывания. Прочитал что для того что-бы выполнять код будучи уверенным что не возникнет прерывание, можно использовать SWI функции которые работают в привилегированном режиме. Но для этого нужно использовать RTX kernel, без чего хотел обойтись.

Неужели остаётся только всегда использовать system mode ? Подскажите путь истинный )
_Артём_
Цитата(flakman @ May 7 2013, 18:30) *
Разные __disable_irq() и __enable_irq() не будут работать в пользовательском режиме как и прямое изменения флагов в CPSR.

Может и не переключаться в User-mode?

Цитата(flakman @ May 7 2013, 18:30) *
Прочитал что для того-что-бы выполнять код будучи уверенным что не возникнет прерывание, можно использовать SWI функции которые работают в привилегированном режиме. Но для этого нужно использовать RTX kernel, без чего хотел обойтись.

Почему именно RTX? Она же не единственная Ось под LPC2xxx.

Можно наверное и без Оси. Я думаю, что написать свой обработчик SVC никто не запрещает.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.