Tool/software:
I'm setting register MemCfgRegs.MSGxINIT.bit.INIT_CLA1TOCPU within a function called cla_init() as called by the CPU2 main() function. When I debug this code, I observed that MemCfgRegs.MSGxINITDONE.bit.INITDONE_CLA1TOCPU never gets set. As a result, the code just hangs waiting on the RAM initialize control. I've used this snippet of code in the past on previous projects but for some reason it's not working at this time.
The compiler does give me several SECTIONS specifications warnings including the following warning: #10247-D creating output section "MemCfgRegsFile" without a SECTIONS specification.
Any insight would be helpful. I'm happy to provide more information as needed.
Compiler: 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
