参考controlsuite例程,编写两个IO灯指示程序,用官方2837xD_FLASH_lnk_cpu1.cmd 2837xD_FLASH_lnk_cpu2.cmd文件,CPU1里的点亮LED程序正常运行,CPU2的程序无法加载,点击DEBUG后会出现如下错误提示:C28xx_CPU2: Error setting the GSxMSEL register for Flash operations
CPU1里的程序:
Int main()
{
_watchdog_reg = WdRegs.WDCR.all;
DisableDog();
InitPeripheralClocks();
IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH);
// InitFlash();
led_init_gpio();
GPIO_SetupPinOptions(99, GPIO_OUTPUT, GPIO_PUSHPULL);
GPIO_SetupPinMux(99, GPIO_MUX_CPU2, 0);
Clock_tickStart();
Clock_start(every2ms_clock_hndl);
BIOS_start(); /* does not return */
return(0);
}
CPU2里的程序:
Int main()
{
_watchdog_reg = WdRegs.WDCR.all;
DisableDog();
InitPeripheralClocks();
Clock_tickStart();
Clock_start(every2ms_clock_hndl);
BIOS_start(); /* does not return */
return(0);
}
void every2ms_clock_func()
{
if(_tasks_counter % 500 == 0)
{
_tasks_counter = 0;
if (ed_status()==0)
GPIO_WritePin(99, 1);
else
GPIO_WritePin(99, 0);
}
_tasks_counter++;
}