Теперь я делаю низкоуровневый инструмент для чистого металла для RPi.И мне нужно получить значение Secure Configuration Register .Я написал следующую инструкцию mrc p15, 0, r0, c1, c1, 0
, чтобы получить ее.Но ЦП переходит в Неопределенный режим исключения и CPSR значение равно 0x600001DB .
Инструкция чтения значения SCR является первой инструкцией, выполняемой ЦП.
Я бы прочитал ARM1176JZF-S TRM r0p7 несколько раз, но я не нашел никаких ограничений на использование инструкции чтения SCR, за исключением того, что являюсь процессором в Безопасном привилегированном режиме но в соответствии с TRM этот процессор начинается с Безопасный привилегированный режим .Если быть более конкретным, начальный режим - Secure Supervisor Mode .
Я использую следующую команду для выполнения кода с QEMU qemu-system-arm -cpu arm1176 -M versatilepb -m 256 -nographic -kernel start.elf -s -S -monitor stdio
Не могу понять, что я пропустил?