线程中讨论的其他部件:TMDSHSECDOCK, C2000WARE,
我们正在使用 TMDSCND28388D 检查环境。
目前,我们正在检查以下环境。
=========================================
CCS |11.1.0.00011
ARM 编译器工具 |20.2.5
C2800编译器工具|21.6.0
=========================================
-连接坞站。 (TMDSHSECDOCK)
我们要使用闪存启动来检查它,因此我们按如下方式设置 DIP 开关。
S1:A_1 =关/ 1:A_2 =开
S2:1 =关/ 2:2 =开
-连接器按如下方式连接。
xds200连接到坞站端的 JTAG。
USB 已连接至坞站侧的 J17。
-CPU1的内存映射未更改。
当我在该环境中从 CCS 构建和加载 cm4/CPU1/CPU2时
加载时工作正常,但按下重置时按下重置时,闪存启动不工作。
我需要处理源代码还是调试板端?
请告诉我。
CPU1的 main()如下。
=========================================
Int main (无效)
{
丁;
IER = 0x0000;
IFR = 0x0000;
InitSysCtrl();// C28 Init & RAM Download & Peripheral Enable Select。
InitGpio();
EALLOW;
CpuSysRegs.PCLKCR10.bit.CAN_B = 1;
EDIS;
GPIO 初始化();// GPIO 初始化数据。
EINT;
/*等待 Core2启动。 *
ARS_BOOT_core2();
/*等待 Cortex-M4启动。 *
ARS_BOOT_cm4();
静态 U32 t = 0;
当(1){
如果(t++> 800000)为{
GpioDataRegs.GPATOGGE.bit.GPIO31 = 1;
T = 0;
}
}
返回0;
}
静态无效 ARS_BOOT_core2 (void)
{
如果(1U == DevCfgRegs.RSTSTAT.Bit.CPU2RES )为{
cpu1toCpu2IpcRegs.CPU1TOCPU2IPCBOOTMODE = 0x5A00C803UL;//密钥+时钟设置+启动模式闪存选项0 (扇区0)
cpu1tocpu2IpcRegs.CPU1TOCPU2IPCSET.bit.IPC0 = 1;//要求 CPU2。
当(1 == cpu1tocpu2IpcRegs.CPU1TOCPU2IPCFlG.bit.IPC0){// Ack wait.
/* NOP *
}
While (1!=(Cpu1toCpu2IpcRegs.CPU2TOCPU1IPCSTS.All & 0xF)){// CPU2启动 ROM 已开始运行。
/* NOP *
}
}
返回;
}
静态无效 ARS_BOOT_cm4 (void)
{
// IF (1U == DevCfgRegs.RSTSTAT.bit)
//{.}
cpu1toCmIpcRegs.CPU1TOCMiPCBOOTMODE = 0x5A007D03UL;//密钥+时钟设置+启动模式闪存选项0 (扇区0)
cpu1toCmIpcRegs.CPU1TOCMIPCSET.bit.IPC0 = 1;//要求 CM4。
当(1=( cpu1toCmIpcRegs.CPU1TOCMIPCFLG.Bit.IPC0){// Ack wait.
/* NOP *
}
While (1!=(Cpu1toCmIpcRegs.CMTOCPU1IPCSTS.All & 0xF)){// CM4 Boot ROM 已开始运行。
/* NOP *
}
返回;
}
