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.

TMS320F28377S: DFU of DCSM Module using dcsm_security_tool

Part Number: TMS320F28377S
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

Tool/software: Code Composer Studio, dcsm_security_tool

i have 2 problems,

Q 1). i am performing Device Firmware Upgrade via SCI Kernel provided as F2837xS_sci_flash_kernel. i am successful in performing normal DFU and receive Status Code "NO_COMMAND_ERROR 0x1000 Return on Success". when it try to perform DFU of the hex file generated by the example code "dcsm_security_tool", The DFU Fails. i receive status code "PROGRAM_ERROR 0x4000 Return on Programming Error". the Linkpointer changed as i modified using "dcsm_security_tool". but no security at all . The data in relevant Zone Select block is all 0xFF. using CCS and same code of "dcsm_security_tool"  code is burnt and security is updated. but not via SCI DFU. I have deployed some systems i have to put security in it. i tried flash security only. 

Q 2).   using CCS the example "dcsm_security_tool" i am not able to perform "Enable PSWDLOCK permanently" i get this error

C28xx_CPU1: Error during Flash programming (Flash algorithm returned error code). FMSTAT (STATCMD on some devices) value = 48. Operation Cancelled (0).
C28xx_CPU1: File Loader: Memory write failed: Unknown error
C28xx_CPU1: GEL: File: E:\Firmwares\test_codes\dcsm_security_tool\CPU1_FLASH\dcsm_security_tool.out: Load failed.

all the blocks erased but error i get in loading. the linkpointer is updated(as i set) and everything is visible at 0x78000. and data on Select block is 0xFF all

  • Hello,

    1. Which version of C2000Ware are you using?

    2. That error indicates the VOLTSTAT bit has been set, which is triggered after a voltage drop while programming. Can you confirm that the voltage is within the range specified by the datasheet during programming?

    3. Can you inspect the ECC region for the OTP? Is it also blank? These ranges are also defined in the datasheet.

    Best,

    Alex

  • 1. Which version of C2000Ware are you using?

    C2000Ware 5.2.0.00

    SysConfig 1.21.0

    2. That error indicates the VOLTSTAT bit has been set, which is triggered after a voltage drop while programming. Can you confirm that the voltage is within the range specified by the datasheet during programming?

    there is no drop in voltage. only this Code creats issue. and i think the error is INVDAT and CSTAT. but the PSWDLOCK is 0xFF not 0 as visible in previous picture. 

    3. Can you inspect the ECC region for the OTP? Is it also blank? These ranges are also defined in the datasheet.

    the User-configurable DCSM OTP ECC Bank 0 and TI OTP ECC is also visible.

  • Hello,

    An INVDAT error indicates that you are trying to program a 0 back to a 1. If the zone select block is blank, this indicates that the ECC for that region has already been programmed and that you are trying to reprogram it. Can you confirm the link pointer is set correctly?

    Best,

    Alex

  • I can program the LinkPointer My current LinkPointer has reached 0x1FFE0000 and ZoneSelectBlock is 0x00078130. i can change the linkpointer whenever needed. but I am unable to program PSWDLOCK. this error only occurs when i try to enable PSWDLOCK. help me out in this.

    NOTE: initially when programming I checked "Configure this Section" box in ZONE 1 Header and set "Disable PSWDLOCK".

    The above relates to Question 2.

    Please guide me on Question 1 as well.

  • Hi Rana,

    Does the error message specifically indicate the PSWDLOCK address is causing a programming error? Could you send a snapshot of your Zone header OTP values?

    It's possible the ECC locations corresponding with the PSWDLOCK location were programmed to non-default values when you originally disabled PSWDLOCK.

    Thank you,

    Luke

  • Thanks Luke for the Coordination

    Does the error message specifically indicate the PSWDLOCK address is causing a programming error?

    No specifically about PSWDLOCK it gives the following Error

    C28xx_CPU1: Error during Flash programming (Flash algorithm returned error code). FMSTAT (STATCMD on some devices) value = 48. Operation Cancelled (0).
    C28xx_CPU1: File Loader: Memory write failed: Unknown error
    C28xx_CPU1: GEL: File: E:\Firmwares\test_codes\dcsm_security_tool\CPU1_FLASH\dcsm_security_tool.out: Load failed.

    Could you send a snapshot of your Zone header OTP values?

    the following is the whole region

    It's possible the ECC locations corresponding with the PSWDLOCK location were programmed to non-default values when you originally disabled PSWDLOCK.

     

    it can be but i need to be sure. the following is the Screenshot of  ECC Region

  • I've checked the OTP ECC on my side with an unprogrammed part and see all Fs. It would appear your initial programming of PSWDLOCK being disabled prevents you from later enabling it on the same device.

    Thank you,

    Luke

  • I have also observed this, but I want to confirm that by checking the 'Configure this Section' box, the selected settings will be written to OTP.

  • That is correct, selecting "Configure this Section" will cause OTP to be programmed.

    Thank you,

    Luke