SMP上多核CPU启动方法-》ZYNQ7k上CPU2(ARM1)的启动方法

来源:互联网 发布:招商网站留言数据提取 编辑:程序博客网 时间:2024/06/08 07:30


ZYNQ7k上CPU2(ARM1)的启动方法
zynq7k上通过“sev”指令复位启动CPU2,在发送sev指令前要先把CPU2的启动地址写入OCM的特定地址。

假设CPU1使用的DDR的地址为(0x00100000~0x001FFFFF). 而CPU1使用的地址范围为(0x00200000~0x002FFFFF)

void wakeUPArm(void)
{

#define sev() __asm__("sev")

#define CPU1STARTADR 0xfffffff0

print("CPU0: writing startaddress for cpu1\n\r");
    Xil_Out32(CPU1STARTADR, 0x00200000);
    dmb(); //waits until write has finished

    print("CPU0: sending the SEV to wake up CPU1\n\r");
    sev();


}


阅读全文
0 0
原创粉丝点击