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.

Flash Programmer: Error



Hello,

Hardware : TMDXDOCKH52C1 - H52C1 Concerto Experimenter Kit

IDE : CCS  Version: 5.1.0.09000

I don't know what I did but, when I try to load a program on Cortex M3 I get the following error.

--------------------------

Cortex_M3_0: GEL Output: Memory Map Initialization Complete
Cortex_M3_0: GEL Output: Watchdog Timers Enabled
Cortex_M3_0: GEL Output: UARTs Enabled
Cortex_M3_0: Flash Programmer: Error erasing Bank 0, Sector 0. Operation Cancelled.
Cortex_M3_0: Flash Programmer: Error erasing Flash memory.
Cortex_M3_0: Flash Programmer: Error erasing Bank 0, Sector 0. Operation Cancelled.
Cortex_M3_0: Trouble Writing Memory Block at 0x200030 on Page 0 of Length 0x6
Cortex_M3_0: Unable to terminate memory download: (Error -1003 @ 0x2BC5) Internal error: Invalid parameter passed to function. Restart the application. If error persists, please report the error. (Emulation package 5.0.520.0)
Cortex_M3_0: GEL: File: C:\AvonCom\FMV_Swedish\CCSv5\F28M35_Sigma40dNav1Id03ToNmea\Master\Debug\Master.out: Load failed.

-------------------------

Please, is there somebody to help me ?

   Best regards

         Henri



  • Hi,

    You might get this error if device you are trying to program is secure device and CSM has not been un-locked.

    Pleasecheck the values at following address which contains the password.

    0x200000
    0x200004
    0x200008
    0x20000C

    If the value in any of these location is not 0xFFFF_FFFF then it means sector 0, which you are trying to program is secure and you have to unlock the same by wrting the password values into KEY register.

    For further detail on security, please refer "Code Security Module" section of Technical Reference Manual.

    Regards,

    Vivek Singh

     

     

  • Hi,

    Thank you for your answer.

    Yes, at these addresses and at the two next ones, there are values not equal to 0xFFFF-FFFF.

    Would you please explain me :

    1 - How or why do these values "suddenly" appear at these write protected addresses ?

    2 - What do you mean by writting a password into Key Registers ?

          I suppose with the aim of having repectively the same values in  DCSM  (Z1_CSMKEY0, Z1_CSMKEY1, ...) registers

          a/ by project properties -> Debug -> Flash Settings -> Security Settings Zone 1 ?

          b/ by writting the same values in gel files ?

          c/ ...

    Sorry I am a "novice".

          Regards.

             Henri

         

  • Hi,

    These addresses are only protected on secure device (when the value in any one of these locations are not 0xFFFF_FFFF) else these are not protected. When programming the flash on fresh device (value at all these locations will be 0xFFFF_FFFF on fresh device) , if .out has references to these addresses then these addresses will get programmed and after that one need to write same value in KEYx register to unlock the device to erase/program the flash sector.

    KEY registers are same as what you mentioned in point # 2.

    Please check the cmd file of your project to ensure that these addresses are not used for any purpose other than to store CSM passwords.

    Hope this solves the issue. Let me know if you have any further query.

    Regards,

    Vivek Singh