#operating-system #arm #irq
Вопрос:
Я работаю над своей операционной системой «голый металл» для своего тв-бокса rk3328. Я просто пишу код для обработчика irq, но у меня возникла проблема с чтением IRQ идентификатора, я всегда читаю 0 в регистре ICCIAR. Спасибо за любую помощь
Комментарии:
1. Не могли бы вы прочитать какие-либо другие регистры из GIC, которые дают вам правильное проверяемое значение.
2. Да, я использую Регистр управления для интерфейсов распределителя и процессора, и они работают
3. Я не помню подробностей, которые были некоторое время назад, когда я работал с этим, но некоторые регистры GIC доступны только в защищенном состоянии (или должны быть предоставлены специальные разрешения для доступа из небезопасного состояния). Этот безопасный/небезопасный доступ может воспроизводиться. Из головы я не мог сказать, вызовет ли доступ к защищенному регистру из небезопасного состояния исключение или просто даст нули.
4. …У меня также много исключений, и, возможно, вы правы 😂 У вас есть какой-нибудь код для этого? Спасибо за ответ