Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

C2000 Flash Common Issues/FAQs

From Texas Instruments Wiki
Jump to: navigation, search

These FAQs are currently being migrated to E2E FAQs. Refer to https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/757585 As they are migrated, they will be deleted from this page.



This covers questions from the programming/debugging stage, electrical and timing characteristics, and the Code Security Module (CSM).

Electrical Specifications

Electrical specifications can change between devices, peripheral types and device families. Always refer to the data manual and errata for a particular device for Electrical Specifications.

Other Resources

The following apply to C28x devices:


For specific Piccolo or Delfio API information please refer to controlSUITE (www.ti.com/controlsuite) in the controlSUITE\libs\utilities\flash_api directory.

Frequently Asked Questions

General Programming Questions

Flash Examples

Q: Are there any flash examples or an application note that describes how to convert my project from RAM based to flash based?

A: The Running an Application from Internal Flash Memory on the TMS320F28xx DSP(SPRA958) Application Note describes the different aspects of converting a program from RAM based to flash based. Examples are also provided with with app. note to demonstrate the procedure and give a template to begin.


Target Halted During Flash Operation

Q: When I attempt to program the flash with the On Chip Flash Programmer within CCS, I receive an error that stated Target Halted During Flash Operation. What is this error and why do I receive it?

A1: This is due to the limitation that no breakpoints can be set when attempting to use the plug in. If a breakpoint is set, you will receive "Flash API Error #14" or "Target halted during Flash operation", Flash operation aborted message. In order to clear these messages and continue flashing, all breakpoints must be disabled. To disable any breakpoints, navigate within CCS to Debug -> Breakpoints and select Remove All. This also prevents the Perform Go Main Automatically option from being enabled. This can be disabled by navigating within CCS to Option -> Customize -> Debug Properties. In this tab, ensure that the Perform Go Main Automatically option is disabled.

Once this is complete, please attempt to program the flash with the Flash Plug In. If you still receive the error, please restart CCS and attempt to program the flash before performing anything else to ensure no breakpoints are set.

A2: I was encountering this problem when trying to program a 28335 Delfino using the On-Chip programmer. A note on the "Iran DSP Center" web site provided the solution - under the menu "Options", select "Customize" and make sure the "Perform go Main automatically" is NOT checked.

Initialized RAM Data Warning

Q: When programming the flash with the CCS On Chip Flash Programmer, the following warning is generated:

Ram data.JPG

What does the message mean and how can I clear this?

A: This means that there is an initialized section that is assigned to the RAM area. This is fine while the power and JTAG is connected but once power is removed, RAM data is lost preventing proper execution when executing standalone. The .cmd file needs to be checked to ensure that all initialized sections are assigned to flash. Section 3 of the Running an Application from Internal Flash Memory on the TMS320F28xx DSP(SPRA958) App. Note explains where each compiler generated section should be allocated.

This message can be seen when at least one section that is designated to LOAD to flash but RUN from RAM in your .cmd file (which is normal for a proper flash setup). The warning is normal, and can be safely ignored as long as all initialized sections have been verified to be allocated to flash mentioned above. DSP/BIOS projects will generate this warning as well due to a couple of data sections being assigned to the RAM. In this case the message can be ignored as well.

File Not Found Error

Q: Using the C28x On-Chip Flash Programmer plug-in to program to flash generates a pop-up message: “File Not Found: Flash_API_Interface.c Would you like to locate this file?” ===

A: This message always pops up when using the C28x On-Chip Flash Programmer. There is no need to search for this file. Simply press the No button. The check box “Do not show this message again” can be checked so that the message does not appear again. Please note, however, that the Flash erase, clear, or program process should not be stopped because of this error. If the flash process is terminated before completion, it can leave the flash in an unknown state or corrupt the sectors in flash memory. A workaround to not make the pop-up message appear is to turn OFF a CCS option. The procedure is as follows:

  1. Select the Option -> Customizemenu item.
  2. Under the Editor Properties tab, deselect the checkbox for the “Enable file browse while debugging” option.

On Chip Flash Programmer Greyed Out

Q: Why are all options within the CCS On Chip Flash Programmer greyed out?

A: When all of the options are grey within the Flash Programmer, this means the Code Security Module (CSM) is secured with a password. In this case the only option available would be Unlock. See CSM section for information on why the CSM is secure.


Flash API Error #14: Target halted during flash operation

Q: Why am I receiving the error "Flash API Error #14 Target halted during Flash operation" while trying to program the flash using the flash plugin?

A: This is due to the limitation that no breakpoints can be set when attempting to use the plug in. If a breakpoint is set, you will receive "Flash API Error #14" or "Target halted during Flash operation", Flash operation aborted message. In order to clear these messages and continue flashing, all breakpoints must be disabled. To disable any breakpoints, navigate within CCS to Debug -> Breakpoints and select Remove All.

Once this is complete, please attempt to program the flash with the Flash Plug In. If you still receive the error, please restart CCS and attempt to program the flash before performing anything else to ensure no breakpoints are set.

Note: You must also turn off "Perform go Main automatically" under "Option/Customize/Debug Properties" otherwise a breakpoint will be inserted when you attempt to execute the On-Chip flash operation.


Flash API Source Code

Q: Is source code for the Flash API libraries available?

A: This source code is not provided with the Flash API library itself. By singing a special legal agreement with Texas Instruments the source code can be obtained for audit purposes only.

The API code goes through a write/erase qualification process and is used in the Texas Instruments production test flow. It is very important that the flash is handled properly with the API. This is why TI supplies the API and customers should not write their own. When TI supplies the source code it is with the understanding that the customer needs it for auditing purposes ONLY (for example: FAA Certification, etc.) and that they will use the API as supplied by TI and not rebuild it.
Please contact your local Product Information Center for more information.


Using Breakpoints During Debugging

Q: Why can't I set more than 2 breakpoints and single stepping does not work properly while debugging from internal flash?

A: When debugging from internal flash memory hardware breakpoints must be used. The TMS320F28xxx devices have access to 2 hardware breakpoints. Stepping also requires setting a breakpoint. Code Composer Studio automatically sets two breakpoints for end of program and CIO preventing you from having any breakpoints for debugging.

Disabling CIO and End of Program Breakpoints

  • CCS 3.3
    • Go to Option -> Customize -> Program/Project/CIO.
    • Check the two boxes titled "Do Not Set End of Program Breakpoint At Load" and "Do Not Set CIO Breakpoint At Load".
  • CCS 4.x
    • Right-click on Project and select "Debug Properties".
    • On the "Debugger" tab make sure that you select the "Connect to Exact CPU" radio button and that you select your 28x core in the drop-down window.
    • On the "Target" tab uncheck the "Halt at program termination" and "Enable CIO function use".
    • If you are using DSP/BIOS there is also a breakpoint associated with RTDX. To remove RTDX and the corresponding breakpoint perform the following actions in your tcf:
      • Go to Input/Output -> HST
      • Right-click on HST and select "Properties"
      • In the HST Properties dialog set "Host Link Type" to "NONE" (or add bios.HST.HOSTLINKTYPE = "NONE"; to tcf)
      • Go Input/Output -> RTDX
      • Right-click on RTDX and select "Properties"
      • In the RTDX Properties dialog uncheck the box "Enable Real-Time Data Exchange (RTDX)" (or add bios.RTDX.ENABLERTDX = 0; to tcf)

It should be noted that by following this procedure you will lose the capability to output CIO text (e.g. printf, etc.). It will also prevent the program from halting automatically on exit.

The debugging process is described in the Flash Programming Solutions for the TMS320F28xxx DSCs (SPRAAL3) Application Note.

Using CCS Profiler When Debugging From Flash

Q: Why do I receive errors when attempting to use the CCS Profiler when debugging from the internal flash of the TMS320F28xxx devices?

A: Full profiling is not available within the flash as you only have access to 2 HW Breakpoints. The best you can get from the Profiler is by viewing the clock and resetting it at specific points. You can use the method to obtain the cycle count. To view the clock, select the following options:

Profile -> Clock -> Enable

Profile -> Clock -> View

At this point you can set breakpoints and see the cycle count in the bottom right corner of Code Composer Studio. To reset the counter simply click on the clock.


Running Code Standalone

Q: How do I need to change my code for it to run stand-alone (without CCS connected)?

A: Refer to these resources:


Code Security Module (CSM)

Refer to the Code Security for C2000 category.