This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28379D:CPUTOCLA1 MSG RAM 的 CPU2 RAM 初始化控制

Guru**** 2535750 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1556294/tms320f28379d-cpu2-ram-initialization-control-for-cputocla1-msg-ram

部件号:TMS320F28379D


工具/软件:

我要 在 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