TI中文支持网
TI专业的中文技术问题搜集分享网站

c6670 pcie 多核启动

我们在调试c6670的pcie boot 多核启动,四个核共用一份.out文件,
按照ti例程中实现,通过pcie boot 启动,按照例程中的配置,首先启动核0,核0配置其他核的,magic address,然后发送ipc中断到其他核,但是只有核0可以运行
我们的工程采用的bios,代码段位于ddr中,四核各自的stack分配到各自的l2里面。

有几个现象:
1.核0进入main之后,配置从核的magic address为_c_init_0,以及触发ipc中断,其他核回写magic_address的值,核0打印该地址,该值没有变化,说明其他核没有被触发。

2.核0不做触发其他核的操作时,会做ddr_test,以及其他的协处理器的test,但是执行了如上操作之后,核0会挂死。

3.该部分的代码如下:

    if( DNUM == 0 )
    {
     CSL_BootCfgUnlockKicker();
            for(i=1;i<4;i++)
        {
            DEVICE_REG32_W(BOOT_MAGIC_ADDR(i), (Uint32)&_c_int00);
        }
        TSC_delay_us(1);

        for (i = 1; i < 4; i++)
        {
            CSL_IPC_genGEMInterrupt(i,0);//start cores..
        }
     CSL_BootCfgLockKicker();

    }else
    {
        DEVICE_REG32_W(MAGIC_ADDR, BOOT_MAGIC_NUMBER);
    }

怀疑是没有触发IPC中断,

有几个地方不是很明白,
1.bios中IPC中断的使用跟裸程序使用方法不一样吗,需要初始化吗,需要bios_start启动之后才能使用吗?
2.IPC触发其他核,不调用注册中断服务程序是否可以直接触发其他核的启动?
3,为什么其他核不执行的情况下,但是会影响到核0的执行?

peter3:

没有人吗

赞(0)
未经允许不得转载:TI中文支持网 » c6670 pcie 多核启动
分享到: 更多 (0)