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

C6678多核cache配置与外设接口共享使用

1 《C66x CorePac User's Guide》中看到L1PCFG寄存器地址为0x01840020,C6678内8个 core的cache配置都是按这个寄存器统一配置吗?各core能否单独进行有差异的cache配置?

2 在C6678中UART只有一个,以下使用场景是否合理?在core0中进行UART初始化配置,然后各 core可以互斥地占用串口来进行数据收发。

countryhotel:

回复 Andy Yin1:

关于问题1同样可以适用于corepac内中断控制器的相关配置吗?如CorePac 内部的中断复用寄存器(Interrupt Mux Register)也是每个core内有单独一套,只是地址一致而已?

countryhotel:

回复 Andy Yin1:

Andy Yin1 你好,在官方提供的GEL文件内看到:

// Only core 0 can set these if (DNUM == 0) { for (count = 0; count < PLL_REINIT_MAX_COUNT; count++) { // Setup Pll1 DSP @ TARGET_FREQ status = Init_PLL(PLL1_M, PLL1_D);

if (status == -1) { GEL_TextOut( "Error in Setting up main PLL, please power cycle the board and re-run Global Default Setup…\n" ); while (1); }

if (!count) {

// Setup all Power Domains on Set_Psc_All_On( ); } // Setup Pll3 pass clk @ 1050 MHz Init_Pll3(PLLM_PASS, PLLD_PASS);

// Setup Pll2 DDR3 PLL @ 667 MHz Init_Pll2(PLLM_DDR, PLLD_DDR);

GEL_TextOut( "DDR begin (1333 auto)\n"); xmc_setup(); ddr3_setup_auto_lvl_1333(0); GEL_TextOut( "DDR done\n");

if(ddr3_memory_test() == 0) { break; }

}

if (count == PLL_REINIT_MAX_COUNT) { GEL_TextOut( "PLL and DDR Initialization failed …\n"); } else { GEL_TextOut( "PLL and DDR Initialization completed(%d) …\n",,,,, count); }

// Configure SGMII SERDES configSGMIISerdes();

GEL_TextOut( "Enabling EDC …\n"); EnableEDC_OneforAll(); GEL_TextOut( "Enabling EDC …Done \n");

GEL_TextOut( "Configuring CPSW …\n"); setCpSwConfig(); GEL_TextOut( "Configuring CPSW …Done \n"); }

想确认:

上面的实现是因为方便调试才选定core0来进行部分初始化配置,还是芯片内部设计限定只能由core0来完成这些芯片模块与外设的初始化配置?

赞(0)
未经允许不得转载:TI中文支持网 » C6678多核cache配置与外设接口共享使用
分享到: 更多 (0)