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.

CCS/TMS320F280049C: F280049C, can't program DCSM

Part Number: TMS320F280049C

Tool/software: Code Composer Studio

Hi all,

I tested my program in CCS successfully. When I added DCSM to test it, I got fail from CCS.

The following is the .cmd file.

And the Following is the .asm file.

When I build and run the program, I got some issues.

 

I reconnected the device and read the OTP area, the GRABRAM and GRABSECT could be programmed successfully, but the CSMPSWD1 could not.

could you provide us with some suggestions?

  • Hi Raphael_w,

    Can you please put up the snapshot of the .cmd file? You have attached the snapshot of your .asm files twice.

    Paste the snapshot of memory Browser showing the DCSM registers space(0x5F000 ) after attempting to unlock the zone. We can look at those registers to see if there is anything else that is causing this problem.

    Thanks & Regards
    Pramod P
  • Hi Pramod P,

    Thanks for your reply.

    The following is DCSM.

    And the following is .cmd file.

    Regards,

    Raphael

  • Please remove the symbols while taking the snapshot of the memory browser so that the entire DCSM register space is visible. To do this, right click on the memory browser, Configure --> Remove symbols and Click Ok.

  • Also, Its good if you can take the put the snapshot of the memory section of the .cmd file as well (the section where you define the memory boundaries). I am looking for the memory assignment of each of the above sections.
  • Hi Pramod P,

    I remove the symbols and the following is the OTP area.

    The GRABRAM and GRABSECT were correct, but the CSMPSWD1 was not 0x47EEFFFF.

    Regards,

    Raphael

  • Hi Raphael,

    Got the issue. Please take a look at the memory 0x5F07A. The SECERRSTAT register is set to 1 which means there was an error while loading the Security Configuration from USER OTP. Usually this happens when there is an ECC error while attempting to program the OTP and hence the security settings aren’t reliable anymore.

    Please move on to the next Zone Select Block(ZSB1) by changing the link pointer and reconfigure the GRAB settings and the CSMPSWD for that particular ZSB. Also double check the values you are programming and ensure that you are programming the OTP properly.

    Hope this helps.

    Thanks & Regards
    Pramod P
  • Hi Raphael,

    In addition to what Pramod mentioned, please look into Flash ECC register (ERR_STATUS and ERR_CNT) and check if it's non-zero value. If you find that there is indeed ECC error then you may need to look at your setup before moving the linkpointer because there may be something missing in your setup which is causing this issue and it may happen again.

    Regards,

    Vivek Singh
  • Hi Pramod P and Vivek,

    Where could I fix the ECC issue? Was the problem happened from .cmd file or .asm file?

    The attached file is my .cmd file and .asm file. Could you help me to check it?

    Regards,

    Raphael

    flashapi_ex2_sci_kernel.rar

  • Raphael,

    Did you look into the flash register to confirm the ECC error flags are set there? If yes then you can also check the corresponding address register to see for which address location error has happened.

    Regards,
    Vivek Singh
  • Hi Vivek,

    I got a new problem If I didn't write DCSM and set DSECT to DCSM.

    The following are my settings.

    I could execute my program successfully with this setting.

    However, the program could not be executed successfully when I wrote the DSCM to device and unlocked it.

    The program was breaking at 0x3FBD93.

    Do you have any suggestions?

    Regards,

    Raphael

  • Hi Vivek ,

    Could you help me on this?

    Regards,

    Raphael

  • Hi Raphael,

    The reason why it is stuck in the location 0x3FBD93 is that the program has hit an Illegal Instruction TRAP. Details on what is an ITRAP is given in the Exceptions and Non-Maskable Interrupts(sec 3.6) of the TRM. http://www.ti.com/lit/ug/sprui33b/sprui33b.pdf You need to check your setup on why this is happening.

     Also did you check on flash registers to confirm if there was an ECC error flag which was set there like Vivek asked?

     And did you get your original issue sorted out?

     

    Note: When you have two different questions unless it is a followup of the first question, its recommended to open a separate thread so that it can be better addressed.

    Thanks & Regards

    Pramod

  • Hi Pramod,

    I changed a new IC to test and the result was fine.
    I will check the ITRAP.
    Thanks for your help.

    Raphael