请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28234 您好!
我们制作了一个包含 TMS320F28234的定制板
如果我在 CCS 上的调试会话上"运行"应用程序、则错误消息"MCU 处于低功耗模式"
JTAG、VDD 和 VDDIO 连接只正确、1.9V 和3.3V 分别获得 VDD 和 VDDIO。
请帮助我们解决错误
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.
您好!
我们制作了一个包含 TMS320F28234的定制板
如果我在 CCS 上的调试会话上"运行"应用程序、则错误消息"MCU 处于低功耗模式"
JTAG、VDD 和 VDDIO 连接只正确、1.9V 和3.3V 分别获得 VDD 和 VDDIO。
请帮助我们解决错误
Chandran、
感谢您联系 E2E。
这可能是代码安全模块导致的、如果代码从安全存储器执行、则会故意导致 JTAG 通信中断。 即使您尚未设定密码(默认状态为所有0xFFFF)、您仍需要执行代码中密码密钥位置的初始读取以解锁器件。 这需要在加电/复位时执行一次。
如果您查看我们的代码示例、您会发现一个名为"CsmUnlock"的函数、该函数将处理此问题。 如果您已经对 CSM 进行了编程、您还可以在此函数中插入您唯一的密码值以解锁器件。 我复制了下面的函数、以防您希望快速内联读取。
CsmUnlock()
{
易失性 uint16温度;
//
//使用当前密码加载密钥寄存器。 0xFFFF 是虚拟的
//密码。 用户应使用的正确密码替换它们
// DSP。
//
EALLOW;
CsmRegs.KEY0 = 0xFFFF;
CsmRegs.key1 = 0xFFFF;
CsmRegs.key2 = 0xFFFF;
CsmRegs.key3 = 0xFFFF;
CsmRegs.KEY4=0xFFFF;
CsmRegs.KEY5=0xFFFF;
CsmRegs.KEY6 = 0xFFFF;
CsmRegs.KEY7=0xFFFF;
EDIS;
//
//如果密码位置与密钥匹配,则执行密码位置的虚拟读取
//值、CSM 将解锁
//
temp = CsmPwl.PSWD0;
temp = CsmPwl.PSWD1;
temp = CsmPwl.PSWD2;
temp = CsmPwl.PSWD3;
temp = CsmPwl.PSWD4;
temp = CsmPwl.PSWD5;
temp = CsmPwl.PSWD6;
temp = CsmPwl.PSWD7;
//
//如果 CSM 未锁定,则返回成功,否则返回失败。
//
if (CsmRegs.CSMSCR.bit.SECURE = 0)
{
返回 STATUS_SUCCESS;
}
其他
{
返回 STATUS_FAIL;
}
}
最棒的
Matthew