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/LAUNCHXL-F28027F: Unable to load program to Launch Pad

Part Number: LAUNCHXL-F28027F
Other Parts Discussed in Thread: C2000WARE, CONTROLSUITE

Tool/software: Code Composer Studio

I'm still fairly unfamiliar with the CCS.  A couple weeks ago I was able to push programs to the Launch Pad.  I decided up upgrade from 9.2 to 9.3.  Now I'm getting a whole slew of errors all over the place.  Either the Micro fried itself by being plugged in for the last couple weeks, or the backwards compatibility is very sad.

My computer recognizes the built in debug probe in the device manager.  It didn't seem like I had any big issues pointing CCS to the debug probe.  I now try to load the Flash version of the "Example_F2802xLEDBlink" program.  I already removed the legacy, error causing items, "XDAIS" and "--cdebug_asm_data" that all of the examples seem to contain from legacy stuff.

The build info I'm receiving on the console is the following...

**** Build of configuration Flash for project Example_F2802xLEDBlink ****

"C:\\ti\\ccs930\\ccs\\utils\\bin\\gmake" -k all 
 
Building target: "Example_F2802xLEDBlink.out"
Invoking: C2000 Linker
"C:/ti/ccs930/ccs/tools/compiler/ti-cgt-c2000_18.12.4.LTS/bin/cl2000" -v28 -ml -mt --define=_DEBUG --define=_FLASH --define=LARGE_MODEL -g --diag_suppress=10063 --diag_warning=225 --verbose_diagnostics --quiet --abi=coffabi --output_all_syms -z -m"Example_F2802xLEDBlink.map" --stack_size=0x200 --warn_sections -i"C:/ti/ccs930/ccs/tools/compiler/ti-cgt-c2000_18.12.4.LTS/lib" -i"C:/ti/ccs930/ccs/tools/compiler/ti-cgt-c2000_18.12.4.LTS/include" -i"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_examples_drivers/timed_led_blink" -i"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/lib" -i"C:/ti/controlSUITE/libs/math/IQmath/v15c/lib" --reread_libs --issue_remarks --verbose_diagnostics --xml_link_info="Example_F2802xLEDBlink_linkInfo.xml" --entry_point=code_start --rom_model -o "Example_F2802xLEDBlink.out" "./Example_2802xLEDBlink.obj" "../28027_RAM_lnk.cmd" "C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_headers/cmd/F2802x_Headers_nonBIOS.cmd" "C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/lib/driverlib.lib"  -l"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd" -lrts2800_ml.lib -lIQmath.lib -llibc.a 
remark: automatic RTS selection:  linking in "rts2800_ml.lib" in place of index
   library "libc.a"
 
>> Compilation failure
makefile:145: recipe for target 'Example_F2802xLEDBlink.out' failed
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 71: error: 
   RAMM0 memory range has already been specified
   RAMM0       : origin = 0x000050, length = 0x0003B0     /* on-chip RAM block M0 */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 71: error: 
   RAMM0 memory range overlaps existing memory range RAMM0
   RAMM0       : origin = 0x000050, length = 0x0003B0     /* on-chip RAM block M0 */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 75: error: 
   BEGIN memory range has already been specified
   BEGIN       : origin = 0x3F7FF6, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 81: error: 
   IQTABLES memory range has already been specified
   IQTABLES    : origin = 0x3FE000, length = 0x000B50     /* IQ Math Tables in Boot ROM */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 81: error: 
   IQTABLES memory range overlaps existing memory range IQTABLES
   IQTABLES    : origin = 0x3FE000, length = 0x000B50     /* IQ Math Tables in Boot ROM */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 82: error: 
   IQTABLES2 memory range has already been specified
   IQTABLES2   : origin = 0x3FEB50, length = 0x00008C     /* IQ Math Tables in Boot ROM */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 82: error: 
   IQTABLES2 memory range overlaps existing memory range IQTABLES2
   IQTABLES2   : origin = 0x3FEB50, length = 0x00008C     /* IQ Math Tables in Boot ROM */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 83: error: 
   IQTABLES3 memory range has already been specified
   IQTABLES3   : origin = 0x3FEBDC, length = 0x0000AA      /* IQ Math Tables in Boot ROM */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 83: error: 
   IQTABLES3 memory range overlaps existing memory range IQTABLES3
   IQTABLES3   : origin = 0x3FEBDC, length = 0x0000AA      /* IQ Math Tables in Boot ROM */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 85: error: 
   ROM memory range overlaps existing memory range BOOTROM
   ROM         : origin = 0x3FF27C, length = 0x000D44     /* Boot ROM */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 86: error: 
   RESET memory range has already been specified
   RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of boot ROM  */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 86: error: 
   RESET memory range overlaps existing memory range RESET
   RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of boot ROM  */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 93: error: 
   BOOT_RSVD memory range has already been specified
   BOOT_RSVD   : origin = 0x000000, length = 0x000050     /* Part of M0, BOOT rom will use this for stack */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 93: error: 
   BOOT_RSVD memory range overlaps existing memory range BOOT_RSVD
   BOOT_RSVD   : origin = 0x000000, length = 0x000050     /* Part of M0, BOOT rom will use this for stack */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 94: error: 
   RAMM1 memory range has already been specified
   RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
"C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 94: error: 
   RAMM1 memory range overlaps existing memory range RAMM1
   RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
error: errors encountered during linking; "Example_F2802xLEDBlink.out" not
   built
gmake: *** [Example_F2802xLEDBlink.out] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

  • Brendan,

    Lets look at the build issues first.

    "C:/ti/controlSUITE/device_support/f2802x/v230/f2802x_common/cmd/F2802x_generic_flash.cmd", line 71: error:
       RAMM0 memory range has already been specified
       RAMM0       : origin = 0x000050, length = 0x0003B0     /* on-chip RAM block M0 */

    Based on the error messages your project has more than one linker command fine in it (.cmd).  These files are attempting to define the same memory ranges.  Take a look at your project and try excluding the linker command file that you do not need.

    Regards,

    John

  • Wait, so with the provided LED Blink example I need to change linker files?

    How do I change this?  How do I know what linker files are duplicated or causing issues?
    I know where the "Linker" tab is in project properties, but am completely unsure how those work.
  • Brendan,

    These projects are pretty old.  C2000Ware Examples will build out of the box without issue.  For me to build this old controlSUITE example with newer tools I have to do the following:

    1. change the compiler version.  The example is set to use 6.4 compiler (circa 2014).
    2. remove the xdais product from the project properties
    3. remove the --cdebug_asm_data option (that is not supported by newer compilers)

    If I do that then it builds fine for me.

    However one thing I noticed that is different between my project and yours is the build config.  The Example_2802xLEDBlink example that I imported has a single configuration called "Debug".  When I look at yours I see that you are building for a configuration called "Flash".  I am betting that your version of the example came with separate configs for RAM and FLASH.  We must have different versions of controlSUITE.  If you are just getting started with C2000 and CCS you may want to use the newer C2000Ware instead.  This is available from Resource Explorer in CCS.  There is a workshop for getting started with CCS and C2000 here: http://dev.ti.com/tirex/explore/node?a=AocYeEd__2.0.0&node=ANJXzL69ZqXoHLjas70yCQ__FUz-xrs__LATEST&r=AocYeEd__LATEST&r=AocYeEd__1.0.0 . It uses a different LaunchPad but the instructions will work for your LaunchPad as well.

    If you just want to fix the build errors related to the linker command files then take a look at the files listed in the project explorer.  For me this project contains "F2802x_generic_ram.cmd" and "F2802x_Headers_nonBIOS.cmd".  In your case you would have F2802x_generic_flash.cmd instead of the ram one.  Are there any other .cmd files present in the project.  If so right click on them and select Exclude from build.

    Regards,

    John

  • Thank you. This was helpful on why I ended up getting it to work.

    I took an approach that was probably unnecessary.  I uninstalled and reinstalled CCS, ControlSUITE, and C2000Ware.

    After install I used the C2000Ware example project and it worked.  One confusing item with this is there are two folders of examples.   

    What is the difference between the "drivers" and "structures" folders in "C:\ti\C2000Ware_2_01_00_00_Software\device_support\f2802x\examples"?

    I loaded "timed_led_blink" from both the drivers and structures folder.  Both projects built fine.  However, the project in the drivers folder built as a "Debug".  The project in the structures folder could have been built as "Flash" or "RAM".  The Debug project from the drivers folder did NOT load to the targeted micro, while the "RAM" and "Flash" versions from the structures folder loaded and ran just fine.