工具与软件:
我正在使用 TMS320F280049C DSP。 引导模式为等待模式。 DCSM 模块未初始化、但仍遇到以下错误。 我也尝试了不同的引导模式、但得到了相同的错误。 您能帮助我解锁器件吗?


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.
工具与软件:
我正在使用 TMS320F280049C DSP。 引导模式为等待模式。 DCSM 模块未初始化、但仍遇到以下错误。 我也尝试了不同的引导模式、但得到了相同的错误。 您能帮助我解锁器件吗?


其它程序工作成功。 我已附上与代码安全模块相关的部分代码。
//****************************************************************
// Interface Function: PRG_unlock()
//
// Unlock the Code Security Module.
//
// Parameters:
//
// Return Value:
//
// Notes:
//-------------------------------------------------------------------
#pragma CODE_SECTION(PRG_unlock,"FlashBoot");
void PRG_unlock(void)
{
volatile Uint32 temp;
volatile Uint32 *CSMPWL = (volatile Uint32 *)0x78028; //CSM Password location
// Read the 128-bits of the CSM password locations (PWL)
temp = *CSMPWL++;
temp = *CSMPWL++;
temp = *CSMPWL++;
temp = *CSMPWL++;
// Write the 128-bit password to the CSMKEY registers
// If this password matches that stored in the
// CSLPWL then the CSM will become unsecure. If it does not
// match, then the zone will remain secure.
DcsmBank0Z1Regs.Z1_CSMKEY0 = 0xFFFF55AA;//0xFFFFFFFF;//
DcsmBank0Z1Regs.Z1_CSMKEY1 = 0x47FFAA55;//0xFFFFFFFF;//
DcsmBank0Z1Regs.Z1_CSMKEY2 = 0xFFFF5A5A;//0xFFFFFFFF;//
DcsmBank0Z1Regs.Z1_CSMKEY3 = 0xFFFFA5A5;//0xFFFFFFFF;//
}
您好、Akshay、
您共享的代码实际上将锁定 DCSM 模块。 只要 Z1_CSMKEY 中的值与地址0x78028上的 OTP 密码不匹配、DCSM 就会被锁定。 由于您的 GRABSECT 值均为默认值、因此所有安全闪存将无法访问并且无法重新编程。
您能否注释掉 PRG_UNLOCK 函数调用、看看是否出现同样的行为? 由于 OTP 密码为默认值(引导 ROM 代码将为您解锁 DCSM)、您不必调用此函数。
谢谢!
Luke