ARM Cortex-A9 Программно сгенерированное прерывание сработало только один раз

Я работаю с ARM Cortex-A9 в Zynq7020 и у меня проблемы с программными прерываниями.

Когда я генерирую (записываю в регистр ICDSGIR) SGI в ядре ARM1, он запускается только один раз, а не снова, больше записей в ICDSGIR не вызывает прерывание.

Генерация SGI в ядре ARM0, отправленного на ARM1, работает нормально, но не ARM1 на ARM1.

Есть ли какая-то особая обработка, необходимая для SGI в ISR? Что я мог пропустить в конфигурации?

1 ответ

Решение

Вы, вероятно, должны отметить конец прерывания, записав идентификатор прерывания вместе с целевым процессором в регистр ICCEOIR:

http://i60.tinypic.com/2d7iwro.png

Другие вопросы по тегам