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 模块未初始化、但仍遇到以下错误。 我也尝试了不同的引导模式、但得到了相同的错误。 您能帮助我解锁器件吗?
您好、Akshay、
您对此器件是否始终有此错误? 或者、这是否只是在您尝试对闪存或 RAM 中的某些内容进行编程后才开始发生?
谢谢!
Luke
尊敬的 Luke:
感谢您的答复。
我已经将大量示例项目编程到 RAM 和闪存中、没有任何问题。 但是、在刷写不同开发团队的旧项目(已成功编程)后、我现在遇到了此错误。
此致、
Akshay
您能否发送从地址0x78000开始的内存浏览器屏幕截图? 我想评估是否在这些位置编程了任何不规则值。
谢谢!
Luke
它是:
谢谢!
Akshay
基于这个、器件应该在复位后解锁。 您是否有任何导致此错误的工程源文件? 如果您尝试在成功运行的项目中刷写设备、是否能够编程、或者这样、设备将永久无法刷新?
谢谢!
Luke
其它程序工作成功。 我已附上与代码安全模块相关的部分代码。
//**************************************************************** // 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