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: Question about the DCSM module

Part Number: TMS320F280049C


Hi team:

CCS V10 with compiler vision V20.2.0.

One of my customers reported an error when loading the project containing the file f28004x DCSM z1otp.asm:

C28xx_CPU1: GEL Output:
Memory Map Initialization Complete
C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
C28xx_CPU1: Error during Flash Programming. Address 0x00078010, Data 0x0000E000, FMSTAT 0x00000030
C28xx_CPU1: File Loader: Memory write failed: Unknown error
C28xx_CPU1: GEL: File: E:\My Project\DVR\DVRSlaverLock\Debug\DVRSlaverLock.out: Load failed.

And below is his "f28004x_dcsm_z1otp.asm" code:

.sect "b0_dcsm_otp_z1_linkpointer"

.long 0x1FFFFFFF ;B0_Z1OTP_LINKPOINTER1
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFFF ;B0_Z1OTP_LINKPOINTER2
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFFF ;B0_Z1OTP_LINKPOINTER3
.long 0xFFFFFFFF ;Reserved

.sect "b0_dcsm_otp_z1_gpreg"

.long 0xFFFFFFFF ;Z1OTP_BOOTPIN_CONFIG
.long 0xFFFFFFFF ;Z1OTP_GPREG2

.sect "b0_dcsm_otp_z1_pswdlock"

.long 0xFFFFFFFF ;Z1OTP_PSWDLOCK
.long 0xFFFFFFFF ;Reserved

.sect "b0_dcsm_otp_z1_crclock"

.long 0xFFFFFFFF ;Z1OTP_CRCLOCK
.long 0xFFFFFFFF ;Reserved

.sect "b0_dcsm_otp_z1_bootctrl"

.long 0xFFFFFFFF ;Z1OTP_BOOTDEF_LOW
.long 0xFFFFFFFF ;Z1OTP_BOOTDEF_HIGH

.sect "b0_dcsm_zsel_z1"

.long 0xFFFFFFFF ;B0_Z1OTP_EXEONLYRAM
.long 0xFFFFFFFF ;B0_Z1OTP_EXEONLYSECT
.long 0xFFFF6666 ;B0_Z1OTP_GRABRAM
.long 0x66666666 ;B0_Z1OTP_GRABSECT

.long 0x58534C4C ;B0_Z1OTP_CSMPSWD0 (LSW of 128-bit password)
.long 0x47556953 ;B0_Z1OTP_CSMPSWD1
.long 0x16071217 ;B0_Z1OTP_CSMPSWD2
.long 0x091543F1 ;B0_Z1OTP_CSMPSWD3 (MSW of 128-bit password)

.sect "b1_dcsm_otp_z1_linkpointer"
.long 0x1FFFFFFF ;B1_Z1OTP_LINKPOINTER1
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFFF ;B1_Z1OTP_LINKPOINTER2
.long 0xFFFFFFFF ;Reserved
.long 0x1FFFFFFF ;B1_Z1OTP_LINKPOINTER3
.long 0xFFFFFFFF ;Reserved

.sect "b1_dcsm_zsel_z1"
.long 0xFFFFFFFF ;Reserved
.long 0xFFFFFFFF ;B1_Z1OTP_EXEONLYSECT
.long 0xFFFFFFFF ;Reserved
.long 0x66666666 ;B1_Z1OTP_GRABSECT

.long 0x58534C4C ;Reserved
.long 0x47556953 ;Reserved
.long 0x16071217 ;Reserved
.long 0x091543F1 ;Reserved

Would you provide a solution?

Best regards

  • Deng,

    Default value for following sections are not defined properly.

    .long 0xFFFFFFFF ;Z1OTP_PSWDLOCK
    .long 0xFFFFFFFF ;Reserved
    .sect "b0_dcsm_otp_z1_crclock"
    .long 0xFFFFFFFF ;Z1OTP_CRCLOCK
    .long 0xFFFFFFFF ;Reserved
    It need to be like below -

     .long 0xfb7fffff     ;Z1-PSWDLOCK
     .long 0x7fffffff     ;Reserved

          .sect "b0_dcsm_otp_z1_crclock"
       
     .long 0x4bffffff     ;Z1-CRCLOCK
     .long 0x3fffffff     ;Reserved



    Regards,

    Vivek Singh

  • Dear Vivek:

    My customer said that he has followed your prompts, but there will still be an error, but the content of the error has changed:

    C28xx_CPU1: GEL Output:
    
    Memory Map Initialization Complete
    
    C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
    
    C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    
    C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
    
    C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    
    C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
    
    C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    
    C28xx_CPU1: Error during Flash Verification. Address 0x00078019, Expected 0x00009FFF, Read 0x0000FFFF
    
    C28xx_CPU1: File Loader: Memory write failed: Unknown error
    
    C28xx_CPU1: GEL: File: E:\workspace_v10\DVRSlaverLock\Debug\DVRSlaverLock.out: Load failed.

    Best regards

  • Hi Vivek:

    Do you have any other suggestions?

  • Deng,

    Are they trying the same device? Please note that once user program the incorrect value in OTP (which they have done in this case), they can not change the value. They need to replace the device and try new .out file with correct settings.

    Regards,

    Vivek Singh

  • Dear Vivek:

    Yes, he has tried to change the device but it doesn't work.

    But my customer hasn't replied to me recently. Maybe you can close this post.

    Thank you for your help.

    Best regards