При использовании прерывания ARM операция GI C требует считывания базового адреса GI C из CP15 перед управлением следующим образом:
mrc p15, 4, r1, c15, c0, 0 //1.Read GIC base address into r1
add r1, r1, #0X2000 //2.GIC interface end base address
ldr r0, [r1, #0XC] //3.Read interrupt number
При выполнении третьего шага операция является адресом памяти адрес GI C находится в адресе памяти. Почему базовый адрес GI C должен считываться из CP15 вместо фиксированного адреса памяти, базовый адрес GI C все еще изменится?