Считывание IRQ идентификатора GIC на Rk3328

#operating-system #arm #irq

Вопрос:

Я работаю над своей операционной системой «голый металл» для своего тв-бокса rk3328. Я просто пишу код для обработчика irq, но у меня возникла проблема с чтением IRQ идентификатора, я всегда читаю 0 в регистре ICCIAR. Спасибо за любую помощь

Комментарии:

1. Не могли бы вы прочитать какие-либо другие регистры из GIC, которые дают вам правильное проверяемое значение.

2. Да, я использую Регистр управления для интерфейсов распределителя и процессора, и они работают

3. Я не помню подробностей, которые были некоторое время назад, когда я работал с этим, но некоторые регистры GIC доступны только в защищенном состоянии (или должны быть предоставлены специальные разрешения для доступа из небезопасного состояния). Этот безопасный/небезопасный доступ может воспроизводиться. Из головы я не мог сказать, вызовет ли доступ к защищенному регистру из небезопасного состояния исключение или просто даст нули.

4. …У меня также много исключений, и, возможно, вы правы 😂 У вас есть какой-нибудь код для этого? Спасибо за ответ