Exception Raspberry Pi 1B安全配置寄存器

Exception Raspberry Pi 1B安全配置寄存器,exception,qemu,bare-metal,armv6,Exception,Qemu,Bare Metal,Armv6,现在我为RPi制作低级裸机工具。 我需要获取安全配置寄存器的值。 我编写了以下指令来获取它。 但CPU进入未定义异常模式,CPSR值为0x600001DB 读取SCR值的指令是CPU执行的第一条指令 我已经读了几遍ARM1176JZF-S TRM r0p7,但我没有发现对使用SCR读取指令的任何限制,除非CPU处于安全特权模式,但根据TRM,此CPU从安全特权模式启动。如果要更具体,初始模式为安全管理模式 我使用以下命令执行QEMU代码 qemu系统arm-cpu arm1176-M versa

现在我为RPi制作低级裸机工具。 我需要获取安全配置寄存器的值。 我编写了以下指令来获取它。 但CPU进入未定义异常模式,CPSR值为0x600001DB

读取SCR值的指令是CPU执行的第一条指令

我已经读了几遍ARM1176JZF-S TRM r0p7,但我没有发现对使用SCR读取指令的任何限制,除非CPU处于安全特权模式,但根据TRM,此CPU从安全特权模式启动。如果要更具体,初始模式为安全管理模式

我使用以下命令执行QEMU代码 qemu系统arm-cpu arm1176-M versatilepb-M 256-nographic-kernel start.elf-s-s-monitor stdio


我不明白我忽略了什么?

QEMU的versatilepb板不支持TrustZone:它创建了一个禁用该功能的CPU


如果您想玩TZ,其他QEMU板型号也支持TZ:例如vexpress-a9、vexpress-a15和raspi2;如果在QEMU命令行上传递-machine secure=on,也可以使用“virt”。

确保QEMU准确地表示逻辑。在硬件上运行时会发生什么?不,我不确定,但我希望如此。至于硬件,我还没有运行它。好的。非常感谢。我试试看。