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.

TMS320F280033: Unable to Write to TMS320F280033 FlashROM

Part Number: TMS320F280033
Other Parts Discussed in Thread: UNIFLASH

Environment: CCS v12.4.00007

Steps taken:

  1. Created a new project from the CCS menu bar, setting TMS320F280033 as the target.
  2. Set the project name as "test."
  3. Configured Connection to XDS2xx USB Debug Probe, and set JTAG Mode to cJTAG (1149.7) 2-pin advanced modes.
  4. Ran Debug, receiving the following error, but RAM execution is possible:
    C28xx_CPU1: GEL: Error while executing OnReset(0): identifier not found: SYSCTL_O_DC21
    at (0x0005D000+SYSCTL_O_DC21) [f280033.gel:814]
    at Device_Config() [f280033.gel:192]
    at OnReset(0)
  5. Ended Debug execution, and changed the Linker command file to F280033_flash_lnk.cmd in Project Property.
  6. Default FlashROM sections of F280033_flash_lnk.cmd do not include Bank0's Section0~Section7, so they cannot be used as is. Therefore, all settings in BANK0 were changed to BANK1.
    (Example: FLASH_BANK0_SEC2 > FLASH_BANK1_SEC2)
    Also, since GAP is included in GROUP memory ranges, change as follows:
    BEGIN : origin = 0x088000, length = 0x000002
    FLASH_BANK0_SEC8 : origin = 0x088002, length = 0x000FFE
  7. Running Debug in this state results in the following error messages in the console, and Flash writing fails:
    C28xx_CPU1: Flash Programmer: Missing Flash Programming Settings.
    C28xx_CPU1: File Loader: Memory write failed: Unknown error
    C28xx_CPU1: GEL: File: C:\workspace_v12\test\Debug\test.out: Load failed.

The full log displayed in the console is as follows:

C28xx_CPU1: GEL Output:

RAM initialization done

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: Error while executing OnReset(0): identifier not found: SYSCTL_O_DC21
    at (0x0005D000+SYSCTL_O_DC21) [f280033.gel:814]
    at Device_Config() [f280033.gel:192]
    at OnReset(0)
C28xx_CPU1: GEL Output: ... DCSM Initialization Start ...
C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
C28xx_CPU1: GEL: Error while executing OnReset(0): identifier not found: SYSCTL_O_DC21
    at (0x0005D000+SYSCTL_O_DC21) [f280033.gel:814]
    at Device_Config() [f280033.gel:192]
    at OnReset(0)
C28xx_CPU1: Flash Programmer: Missing Flash Programming Settings.
C28xx_CPU1: File Loader: Memory write failed: Unknown error
C28xx_CPU1: GEL: File: C:\workspace_v12\test\Debug\test.out: Load failed.

Could you please let me know if there is any solution or additional settings required? Thank you.

  • Hi Yuhei,

    Did you change your settings/linker cmd file simply because of the error in step 4? This seems to be an error with the gel file, I will loop in the appropriate expert to resolve this.

    --Luke

  • Hi Luke,

    Thank you for looking into this issue.

    I want to clarify that the changes made to the settings/linker cmd file were not in response to the initial error encountered in step 4.
    The primary goal here was to write to the Flash, and the default linker command file had issues, so it was necessary to modify it.
    The RAM execution was intended to demonstrate that there were no issues with the debugger connection.

    I look forward to the expert's insight into the GEL file error.
    Thanks for your assistance.

    Best regards,
    Yuhei

  • Yuhei, 

    There is an issue with the GEL file .  Will raise a bug for this issue. 

    SYSCTL_O_DC21 is meant for CLB which is not availalbe on this device.  

    Pls comment out the following line (line number 819) in the GEL  (f280033.gel) 

      *(unsigned long *)(DEVCFG_BASE + SYSCTL_O_DC21) = DCX_ENABLE_HIGH | *(unsigned long *)(TI_OTP_ADDR_DC21);

    Best Regards

    Siddharth

  • Hi Siddharth,

    Thank you for your quick response and guidance.

    I followed your instructions and commented out the specified line in the GEL file.
    This did change the log output, and I no longer see the previous error related to SYSCTL_O_DC21.
    However, I'm still encountering issues with Flash writing.
    The current log output is as follows:

    C28xx_CPU1: GEL Output: 
    
    RAM initialization done
    
    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: Flash Programmer: Missing Flash Programming Settings.
    C28xx_CPU1: File Loader: Memory write failed: Unknown error
    C28xx_CPU1: GEL: File: C:\workspace_v12\test\Debug\test.out: Load failed.

    It seems that there is still a problem related to Flash Programming Settings, and memory write is failing. Could you please guide me on what additional steps may be needed to resolve this issue?

    Your assistance is greatly appreciated.

    Best regards,
    Yuhei

  • Yuhei,

    Are you able to Erase Flash?  Can you try using the On-Chip Flash options to erase Flash?

    Will forward this query to Flash programming expert to comment further.

    Best Regards

    Siddharth

  • Hi Siddharth,

    I appreciate your guidance on the Flash erasure, but I am encountering some difficulties in following the instructions.

    In the project's Debug Configuration, I understand that the erasure should be done through the "Flash Settings" menu. However, for the F280033 project, the "Flash Settings" menu is not displayed in the Debug Configuration, making it impossible to make the required adjustments.
    280033 Debug Config view

    For comparison, the "Flash Settings" menu is present in the Debug Configuration for the F280039C project.
    280039 Debug Config view

    Could you provide more insight or correct me if my understanding is wrong?

    I have also attempted to install UniFlash 8.4.0, but under "Settings & Utilities," it shows "No Flash settings/utilities available for selected core," rendering me unable to perform the erasure operation.
    F280033 UniFlash view

    For additional context, I'd like to emphasize that I was able to write to and erase the Flash region through programming and executing the F021 Flash API without encountering any issues. This might shed light on some aspects of the problem, although I'm still encountering the difficulties mentioned above with the standard erasure process.

    Best regards,
    Yuhei

  • Yuhei,

    Thanks for the details , will forward this query to Flash programming expert to comment further and help you to resolve this issue.

    Best Regards

    Siddharth

  • Hi Yuhei,

    We will check F280033 support in CCS v12.4 and get back to you by the end of the week.

    Thanks and regards,

    Vamsi

  • Hi Yuhei,

    Our team will send you a friendship request and provide the instructions on how to successfully program the F280033 device.

    For others that may refer to this post: CCSv12.5 will support F280033 natively.  If you need F280033 support in CCSv12.4, you can contact us via the forum and we will provide the instructions to enable it.

    Thanks and regards,

    Vamsi

  • Hi Vamsi and Siddharth,

    I have successfully confirmed that writing to the F280033 device is now possible, thanks to the guidance provided by your team.
    The issue has been resolved, and I appreciate your quick response and help.

    Best regards,
    Yuhei

  • FYI for others that may refer to this post:  Please search for below question in the flash tool FAQ page at https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1096194/faq-c2000-ccs-flash-plugin-and-uniflash 

         We are aware that the flash operations for F280033 device are supported in CCSv12.5 by default.  How can we get this support in CCSv12.4?

    Thanks and regards,
    Vamsi