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:TMS320F280049C 器件解锁问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1485959/tms320f280049c-tms320f280049c-device-unlocking-issue

器件型号:TMS320F280049C

工具与软件:

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

 

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

    您好、Akshay、

    您对此器件是否始终有此错误? 或者、这是否只是在您尝试对闪存或 RAM 中的某些内容进行编程后才开始发生?

    谢谢!

    Luke

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

    尊敬的 Luke:

    感谢您的答复。

    我已经将大量示例项目编程到 RAM 和闪存中、没有任何问题。 但是、在刷写不同开发团队的旧项目(已成功编程)后、我现在遇到了此错误。

    此致、

    Akshay

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

    您能否发送从地址0x78000开始的内存浏览器屏幕截图? 我想评估是否在这些位置编程了任何不规则值。

    谢谢!

    Luke

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

    它是:

    谢谢!

    Akshay

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

    基于这个、器件应该在复位后解锁。 您是否有任何导致此错误的工程源文件? 如果您尝试在成功运行的项目中刷写设备、是否能够编程、或者这样、设备将永久无法刷新?

    谢谢!

    Luke

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

    其它程序工作成功。 我已附上与代码安全模块相关的部分代码。  

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //****************************************************************
    // 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)
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    您好、Akshay、

    您共享的代码实际上将锁定 DCSM 模块。 只要 Z1_CSMKEY 中的值与地址0x78028上的 OTP 密码不匹配、DCSM 就会被锁定。 由于您的 GRABSECT 值均为默认值、因此所有安全闪存将无法访问并且无法重新编程。

    您能否注释掉 PRG_UNLOCK 函数调用、看看是否出现同样的行为? 由于 OTP 密码为默认值(引导 ROM 代码将为您解锁 DCSM)、您不必调用此函数。

    谢谢!

    Luke