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.
Tool/software: TI C/C++ Compiler
I'm trying to add ADC functionality to my F28335 SYS/BIOS project and am currently having problems integrating C2000Ware. I'm primarily following the F2833x_DEV_USER_GUIDE.pdf as well as the ADC example guide here:
https://processors.wiki.ti.com/index.php/SYS/BIOS_and_controlSUITE_ADC_Example#Starting_Point
I believe that my main issue thus far is that I'm not sure what linker file to use for my RAM sectioning. I've currently tried the following files:
It seems that TMS320F28335.cmd provides the most success as the other two give me an error relating to missing PIEVECT.
warning #10247-D: creating output section ".cio" without a SECTIONS specification
"C:/ti/C2000Ware_2_00_00_03_Software/device_support/f2833x/headers/cmd/DSP2833x_Headers_BIOS.cmd", line 139: warning #10097: memory range not found: PIEVECT on page 1
"C:/ti/C2000Ware_2_00_00_03_Software/device_support/f2833x/headers/cmd/DSP2833x_Headers_BIOS.cmd", line 139: error #10099-D: program will not fit into available memory. run placement with alignment/blocking fails for section "PieVectTableFile" size 0x100 page 1
With TMS320F28335.cmd I can at least build the program; however when I add a call to InitSysCrtl() (following the ADC example project), the linker can't seem to find the ADC_cal function.
<Linking>
undefined first referenced
symbol in file
--------- ----------------
_ADC_cal ./DSP2833x_Adc.obj
error #10234-D: unresolved symbols remain
warning #10063-D: entry-point symbol other than "_c_int00" specified: "code_start"
TMS320F28335.cmd defines ADC_CAL in PAGE 0, and later "Allocate ADC_cal function" with .adc_cal, so I'm not sure what the problem is. Furthermore, when I add the MemCopy call after that I get an undefined reference to that as well, although I'm not sure where that's supposed to be defined.
Any help with this would be appreciated. Thanks!
Martin Dillon
hi ,
Martin Dillon said:
- 28335_RAM_lnk.cmd in C2000Ware device_support
- F28335.cmd in the ccs920 installation
- TMS320F28335.cmd in the bios installation
Please use 28335_RAM_lnk.cmd if using ONLY SARAM blocks on the 28335 device else use 28335.cmd both in the C2000Ware device_support under common/cmd.
Also you would need to use DSP2833x_Headers_BIOS.cmd or DSP2833x_Headers_nonBIOS.cmd also in the C2000Ware device_support under headers / cmd.
Martin Dillon said:It seems that TMS320F28335.cmd provides the most success as the other two give me an error relating to missing PIEVECT.
This is because the DSP2833x_Headers_BIOS.cmd has sections on the peripherals which may not be included in the project .
Martin Dillon said:With TMS320F28335.cmd I can at least build the program; however when I add a call to InitSysCrtl() (following the ADC example project), the linker can't seem to find the ADC_cal function.
is the DSP2833x_ADC_cal.asm added to the example ?
My suggestion is to import and check one of the C2000ware examples as refernce for settings and content .
C2000Ware\device_support\f2833x\examples\adc_dma
Regards.
It turned out that my problem was that I was missing the DSP2833x_ADC_cal.asm file in my project, thank you! After adding that and the DSP2833x_Adc.c and DSP2833x_MemCopy.c files to my project, I was able to build and run successfully on my target hardware.
The linker files I ended up using successfully for my project were the
DSP2833x_Headers_BIOS.cmd - C:\ti\C2000Ware_2_00_00_03_Software\device_support\f2833x\headers\cmd\DSP2833x_Headers_BIOS.cmd
TMS320F28335.cmd - C:\ti\bios_6_76_03_01\packages\ti\platforms\tms320x28\include\TMS320F28335.cmd
Thanks!
Martin Dillon