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?
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.
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
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.
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.