Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Что делает __disable_irq() ?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
evgen2
С некотороым удивлением смотрю в книгу-вижу фигу смотрю в отладчике на состояние VIC и вижу, что после вызова __disable_irq() состояние не меняется, разрешенное прерывание остается разрешенным... Процессор LPC23xx, Keil 3.9

в доке написаны какие-то непонятные буквы:

4.7.8. __disable_irq
This intrinsic disables IRQ interrupts.

Note
Typically, this intrinsic disables IRQ interrupts by setting the I-bit in the CPSR. However, for M-profile it sets the exception mask register (PRIMASK).


Хотелось бы понять - что это такое и с чем его едят в ARMе.
aaarrr
CPSR - регистр ядра, к VIC'у отношения никакого не имеет. Установка бита I просто заставит процессор игнорировать линию nIRQ (в данном случае это выход VIC).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.