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.

TMS320F28027: Unable to Build Project. New to TI microcontrollers and Code Composer Studio.

Part Number: TMS320F28027
Other Parts Discussed in Thread: C2000WARE

I added code on top of existing example given. I added the headers first then the source file. The moment I add I2C.c, I am getting linker errors. Can someone help?

  • Hi,

    Did you install latest TI Code Composer Studio and C2000Ware SDK?

    If you have installed, then try importing any example for see if you can build it.

    C:/ti/c2000/C2000Ware_4_01_00_00/device_support/f2802x/examples/structs/gpio_toggle

    Please refer to this workshop, which walks through the steps needed to get started:

    https://dev.ti.com/tirex/explore/node?node=AarSYkXGIH7ZivALhcJ4gg__jEBbtmC__LATEST

    Thanks & Regards,

    Santosh

  • Thank you for quick response sir
    I have tried that as well. That builds.

    Hence I decided to build my project on that only.

    When i add other header and source files and build at every step just to be sure, it builds without an issue.

    But the moment I add the i2c.c file, i get 11 errors. The errors being linker errors.

  • What is CCS version and what is C2000Ware version you are using?

    Do not add the file, rather import the project. I just tried the i2c example, and it builds well.

    C:/ti/c2000/C2000Ware_4_01_00_00/device_support/f2802x/examples/structs/i2c_eeprom

  • ccs v12 and ccs ware 4.01.

    I imported sample projects and then built my code over it.

  • When I say I added files, I mean added additional files. The files relevant to my project.

  • I have removed i2c.c from my build.

    In this screenshot, I have kept the file and I am getting such an error.

  • Hi,

    I am still not sure what is the issue?  Let me confirm, you tried to import example project from C2000Ware 4.01.00.00. You can build is properly without any issue. Then you are trying to add your file into the example project you imported and you are encountering linker error, is that correct?

    or you are creating your own project from scratch and running into this error?

    Also, send the error in console log, it has better error description.

  • Yes correct. I used the sample project as a base. Not creating it from scratch. And now i am facing an error.

  • Okay Here is the extract from the console log.


    >> Compilation failure
    makefile:156: recipe for target 'Example_F2802xGpioToggle.out' failed
    warning: creating output section ".cio" without a SECTIONS specification
    warning: creating ".esysmem" section with default size of 0x400; use the -heap
    option to change the default size
    "C:/ti/C2000Ware_4_01_00_00/device_support/f2802x/common/cmd/F2802x_generic_ram.cmd", line 148: error:
    program will not fit into available memory, or the section contains a call
    site that requires a trampoline that can't be generated for this section.
    run placement with alignment/blocking fails for section ".stack" size 0x200
    page 1. Available memory ranges:
    RAMM1 size: 0x400 unused: 0x0 max hole: 0x0
    .stack : > RAMM1, PAGE = 1
    "C:/ti/C2000Ware_4_01_00_00/device_support/f2802x/common/cmd/F2802x_generic_ram.cmd", line 150: error:
    program will not fit into available memory, or the section contains a call
    site that requires a trampoline that can't be generated for this section.
    placement with alignment/blocking fails for section ".econst" size 0x19a
    page 1. Available memory ranges:
    RAMM1 size: 0x400 unused: 0x0 max hole: 0x0
    .econst : > RAMM1, PAGE = 1
    error: program will not fit into available memory, or the section contains a
    call site that requires a trampoline that can't be generated for this
    section. run placement with alignment/blocking fails for section ".cio" size
    0x120 page 1. Available memory ranges:
    BOOT_RSVD size: 0x4e unused: 0x4e max hole: 0x4e
    RAMM1 size: 0x400 unused: 0x0 max hole: 0x0
    DEV_EMU size: 0x105 unused: 0x105 max hole: 0x105
    SYS_PWR_CTL size: 0x3 unused: 0x3 max hole: 0x3
    FLASH_REGS size: 0x60 unused: 0x60 max hole: 0x60
    CSM size: 0x10 unused: 0x10 max hole: 0x10
    ADC_RESULT size: 0x20 unused: 0x20 max hole: 0x20
    CPU_TIMER0 size: 0x8 unused: 0x8 max hole: 0x8
    CPU_TIMER1 size: 0x8 unused: 0x8 max hole: 0x8
    CPU_TIMER2 size: 0x8 unused: 0x8 max hole: 0x8
    PIE_CTRL size: 0x20 unused: 0x20 max hole: 0x20
    PIE_VECT size: 0x100 unused: 0x100 max hole: 0x100
    COMP1 size: 0x20 unused: 0x20 max hole: 0x20
    COMP2 size: 0x20 unused: 0x20 max hole: 0x20
    EPWM1 size: 0x40 unused: 0x40 max hole: 0x40
    EPWM2 size: 0x40 unused: 0x40 max hole: 0x40
    EPWM3 size: 0x40 unused: 0x40 max hole: 0x40
    EPWM4 size: 0x40 unused: 0x40 max hole: 0x40
    ECAP1 size: 0x20 unused: 0x20 max hole: 0x20
    GPIOCTRL size: 0x40 unused: 0x40 max hole: 0x40
    GPIODAT size: 0x20 unused: 0x20 max hole: 0x20
    GPIOINT size: 0x20 unused: 0x20 max hole: 0x20
    SYSTEM size: 0x20 unused: 0x20 max hole: 0x20
    SPIA size: 0x10 unused: 0x10 max hole: 0x10
    SCIA size: 0x10 unused: 0x10 max hole: 0x10
    NMIINTRUPT size: 0x10 unused: 0x10 max hole: 0x10
    XINTRUPT size: 0x10 unused: 0x10 max hole: 0x10
    ADC size: 0x80 unused: 0x80 max hole: 0x80
    I2CA size: 0x40 unused: 0x40 max hole: 0x40
    PARTID size: 0x1 unused: 0x1 max hole: 0x1
    CSM_PWL size: 0x8 unused: 0x8 max hole: 0x8
    "C:/ti/C2000Ware_4_01_00_00/device_support/f2802x/common/cmd/F2802x_generic_ram.cmd", line 149: error:
    program will not fit into available memory, or the section contains a call
    site that requires a trampoline that can't be generated for this section.
    run placement with alignment/blocking fails for section ".ebss" size 0x1e
    page 1. Available memory ranges:
    RAMM1 size: 0x400 unused: 0x0 max hole: 0x0
    .ebss : > RAMM1, PAGE = 1
    error: errors encountered during linking; "Example_F2802xGpioToggle.out" not
    built

  • You will need to adjust some sections and it does not fit into the memory.

    Please go through this page:

    https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_Linker-Command-File-Primer.html

    This page explains how to modify the linker command file so that section can go into multiple memory section.

  • Okay I will give this a try and post any update here.