工具/软件:
我要 在 CPU2 main () 函数调用的 cla_init () 函数内设置寄存器 MemCfgRegs.MSGxINIT_bit.init_CLA1TOCPU。 调试此代码时、我观察到 MemCfgRegs.MSGxINITDONE.bit.INITDONE_CLA1TOCPU 永远不会被设置。 因此、代码只是在等待 RAM 初始化控制时挂起。 我过去在以前的项目上使用过这个代码片段、但由于某种原因、它目前无法正常工作。
编译器确实会给我几个段规范警告、包括以下警告:#10247-D 创建不带段规范的输出段“MemCfgRegsFile"。“。
任何见解都将有所帮助。 我很乐意根据需要提供更多信息。
编译器:TI-CGT-C2000_20.2.7.LTS
EALLOW;
CpuSysRegs.PCLKCR0.bit.CLA1 = 1;
// Initialize and wait for CLA1ToCPUMsgRAM
MemCfgRegs.MSGxINIT.bit.INIT_CLA1TOCPU = 1;
while(MemCfgRegs.MSGxINITDONE.bit.INITDONE_CLA1TOCPU != 1){};
// Initialize and wait for CPUToCLA1MsgRAM
MemCfgRegs.MSGxINIT.bit.INIT_CPUTOCLA1 = 1;
while(MemCfgRegs.MSGxINITDONE.bit.INITDONE_CPUTOCLA1 != 1){};
EDIS;
PAGE 1 : //data space BOOT_RSVD : origin = 0x000002, length = 0x000120 /* Part of M0, BOOT rom will use this for stack */ RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */ CLA1_MSGRAMLOW_1 : origin = 0x001480, length = 0x000060 CLA1_MSGRAMLOW_2 : origin = 0x0014E0, length = 0x000020 CLA1_MSGRAMHIGH_1 : origin = 0x001500, length = 0x000060 CLA1_MSGRAMHIGH_2 : origin = 0x0015E0, length = 0x000020 RAMD1 : origin = 0x00B800, length = 0x000800
