0

我正在使用具有 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);

有人能告诉我从这里去哪里吗?

谢谢。

4

1 回答 1

0

我认为您需要修改 ARM 可信固件才能做到这一点。

于 2019-09-19T14:56:24.703 回答