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.

C2000-GANG F28377D issues with DCSM programming

Other Parts Discussed in Thread: C2000-GANG, CONTROLSUITE

I'm having issues programming the DCSM values using a C2000-GANG programmer and TI-TXT format programming files.

The format of the file I used is below where the Xs are the CSM password. Is there something wrong with the format or am I unable to program the DCSM in this manner? I also read out the flash and it looks like it did program the first 0x20 words correctly then failed on the rest.

@78000
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 
0000 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 
FFFF FFFF FFFF FFFF 5555 1FFF 5555 1555 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
...
@78100
...
@78200
...
@78300
...
@80000
...
q

  • Hi Mike,

    In this GUI at lower right corner there are additional option for "Secure Device". In this case since you are programming the DCSM value as part of the code, you may want to enable the option "from code". Please try this and see if that helps.

    C2000-GANG is 3rd party tool (from Elprotronic). You could contact them at support@elprotronic.com for your tool related queries.

    Regards,

    Vivek Singh 

  • I think I already have it selected "from code" unless I'm missing something.
  • Hi Mike, were you able to contact Elprotronic support for this?

    Regards,
    Vivek Singh
  • Yes, I have contacted them and they are helping me with the issue. I will post an answer here when the issue is resolved.

  • Hi Mike, Is your issue got resolved?

    Regards,
    Vivek Singh
  • Still no resolution. There has been very sparse communication from Elpotronics.

  • Mike,

    I asked Elprotronic to prioritize the debug of your issue. They are looking at your issue.

    Thanks and regards,
    Vamsi
  • Hi Mike,

    Sorry for late reply.

    In the USER OTP section we have some reserved space and those should not be programmed. In the code file the reserved space should have blank space (specifically location 0x78018 to 0x7801B and 0x78218 to 0x7821B). Please update the code file accordingly and that should fix the issue.

    I am attaching a sample code file for your reference.

    BTW, how did you create your code image file?

    Regards,

    Vivek Singh

    @78000
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF
    
    @7801E
    FFFF FFFF FFFF FFFF
    
    @78020
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    5555 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 14F9 553C CA4B D3DD FAE9 D416 22EE CB98
    
    @78200
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF
    
    @7821E
    FFFF FFFF FFFF FFFF
    
    @78220
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
    FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF  
     
    @80000
    0049 0676 4C45 0000 0002 FFBC 0108 5600 0000 0012 5930 3234 3130 2D30 3100 0000  
    0000 0000 3132 2F30 332F 3135 0000 0000 0000 0000 3136 3A31 343A 3133 0000 0000  
    0000 0000 404A 0009 4AD8 0009 0011 0000 0007 0000 FE0C 1E44 A842 761F 4BC4 0608  
    ED44 0203 0744 18A9 FFFC 1E44 761F 4BC6 0644 0F36 6903 0200 6F39 0634 761F 4BC4  
    1E08 0644 1E0A 761F 4BC6 0634 0744 1E4C 0636 0344 1E4A BE05 A34A 0200 F61F 5617  
    00A6 18AB FFFC A948 0201 1E46 0205 0F46 691C 8748 064C 5665 0046 8F12 F108 07AB  
    1EA6 0646 FF34 5601 00A4 C2C4 8F12 F10A C448 0646 FF34 5601 00A4 C2C4 0201 0746  
    1E46 0205 0F46 66E6 0644 FE8C 0006 FE04 A842 8F12 F0EE 0642 0FA4 ED23 0200 1E44  
    0205 0F44 691E 0644 8F12 F10C FF34 5601 00A4 18CC 7FFF BE00 8F12 F108 0644 FF34  
    5601 00A4 C2C4 8F12 F10A 0644 FF34 5601 00A4 C2C4 0201 0744 1E44 0205 0F44 66E4  
    FE84 0006 FE04 1E42 0642 9B00 90FF 1E44 0205 0F44 6703 02FF 1E44 9244 FE84 0006  
    FE04 1E42 0200 1E44 6F16 1A44 0001 6F2C 1A44 0002 6F29 1A44 0008 6F26 1A44 0004  
    6F23 1A44 0010 6F20 1A44 0020 6F1D 1A44 0040 6F1A C442 020C 0FA6 640D 0FA6 ECF8  
    0200 0FA6 ECE6 0201 0FA6 ECE6 020B 0FA6 ECE9 6F0A 020D 0FA6 ECE8 0212 0FA6 ECDF  
    0213 0FA6 ECD3 0644 FE84 0006 FE08 A844 1E42 0200 1E46 064C 7648 00B0 1E48 0648  
    EC08 0648 761F 4BC7 9800 9901 0201 1E46 0646 FE88 0006 FE08 A844 1E42 0200 1E46  
    q
    

  • Hi Vivek, thanks for following up on this I'll give it a shot within the next few days. I need to procure a board that hasn't had the OTP programmed yet.

    As far as creating the image goes I already had a binary image and just wrote a simple application to transform it into the TI-TXT format. Then manually added the extra OTP data. It's been awhile since I've looked at this, but I believe I had issues getting the TI tools to work. If there is an easier way to do this using TI tools that would be great. I have to combine an out file, a simple binary header for adding software revision and out metadata in the flash, and the OTP stuff.
  • Hi Mike, I would suggest to look at controlSUITE example "blinky_with_DCSM" to see how to include the security setting in main program so that you have only one binary file and don't have to manually add the OTP data.

    Regards,

    Vivek Singh
  • Hi Mike,

    Are you able to program the USER OTP except for the reserved space using GANG programmer?
    Can we close this thread?

    Thanks and regards,
    Vamsi
  • I've got a fresh board and I'm looking at this right now.

    In your post you say that (0x78018 to 0x7801B) and (0x78218 to 0x7821B) are reserved and the example file you attached is actually not programming (0x78014 to 0x7801D) and has 0x78020 and 0x78021 defined twice? The same goes for (0x78214 to 0x7821D) and 0x78220 and 0x78221.

    Is there something I'm missing or was the file generated incorrectly?
  • Hi Mike,

    That file was just a reference file for testing the programming via GANG tool. Please use the example code in controlSUITE.

    Regards,

    Vivek Singh
  • Well it seems as the the file for reference is incorrect and I would like to make sure I understand you correctly. Also, it would probably make sense to clean this up as the forum is used as a sort of wiki for other users also.

    Does the example in ControlSUITE now output a TI-TXT format file?

    Also, in reply to the "single binary" generation you referenced earlier, I cannot simply use the example because I MUST include a custom header applied to the binary file after compilation.
  • Mike,

    Does the example in ControlSUITE now output a TI-TXT format file?

    Compiler generates .out file and from that one should be able to generate hex file. If you look at example code then you'll find that these asm file and linker cmd file can be included in your main project file itself so that the DCSM settings will be part of your main .out and you don't have to have additional header.

    But if you need to have the header file then please remove the reserved locations (refer device TRM for reserved location address) from the file. Reference TXT file I attached earlier was to show how to create different section.

    Hope this helps.

    Regards,

    Vivek Singh