我正在使用具有 zynq-7000 的定制板。我在两个内核上运行两个应用程序。我想将 cpu0 放在非安全世界中,将 cpu1 放在安全世界中。由于 Cpu1 已经在安全世界中,我正在尝试使 Cpu0 在非安全世界中。
我正在尝试将 cpu0 置于正常世界中,并在 fsbl 中添加以下行。
__asm__ (
"MRC p15, 0, r0, c1, c1, 0;"
"ORR r0, r0, #0x1;"
"MCR p15, 0, r0, c1, c1, 0;"
);
但不幸的是,我的系统挂起,并且有一段时间给出“DATA_ABORT_HANDLER FSBL Status = 0xA304”。我在 fsbl 中添加了这些行(汇编指令)并尝试将其作为 u-boot 的补丁(如果我启动 linux 而不是裸机应用程序)。
我还将 TZ 寄存器中的位设置为对测试不安全。
Xil_Out32( TZ_OCM_RAM0, 0xffffffff);
Xil_Out32( TZ_OCM_RAM1, 0xffffffff);
Xil_Out32( TZ_OCM, 0xffffffff);
Xil_Out32( TZ_DDR_RAM, 0x0000ffff);
有人能告诉我从这里去哪里吗?
谢谢。