Other Parts Discussed in Thread: CONTROLSUITE
Hi,
I'm using some header files from the controlSuite for the C2000 F28069 processor and keep on getting a linker error. The code compiles, but fails to link. It looks like I've got the relevant header files added to the includes list, but I keep on getting errors.
Console output during linking:
'Building target: rhs_controller.out'
'Invoking: C2000 Linker'
"C:/ti/ccsv6/tools/compiler/c2000_15.12.3.LTS/bin/cl2000" -v28 -ml -mt --vcu_support=vcu0 --cla_support=cla0 --float_support=fpu32 -g --display_error_number --diag_warning=225 --diag_wrap=off -z -m"rhs_controller.map" --stack_size=0x300 --warn_sections -i"C:/ti/ccsv6/tools/compiler/c2000_15.12.3.LTS/lib" -i"C:/ti/controlSUITE/device_support/f2806x/v151/F2806x_common/include" -i"C:/ti/controlSUITE/device_support/f2806x/v151/F2806x_headers/include" -i"C:/ti/ccsv6/tools/compiler/c2000_15.12.3.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="rhs_controller_linkInfo.xml" --rom_model -o "rhs_controller.out" "./hal.obj" "./main.obj" "./memory.obj" "./comm/spi.obj" "./comm/uart.obj" "./control/error_handler.obj" "./control/hid_handler.obj" "./control/rhs_adjust.obj" "./control/system_check.obj" "./inputs/position.obj" "./inputs/pressure.obj" "./outputs/solenoids.obj" "../28069_RAM_lnk.cmd" -llibc.a
<Linking>
undefined first referenced
symbol in file
--------- ----------------
_SysCtrlRegs ./hal.obj
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "rhs_controller.out" not built
>> Compilation failure
makefile:159: recipe for target 'rhs_controller.out' failed
gmake: *** [rhs_controller.out] Error 1
gmake: Target 'all' not remade because of errors.
**** Build Finished ****
The only place where SysCtrlRegs appears in my code is in hal.c at
// HEADER FILES
#include <stdint.h>
#include <stdio.h>
#include "F2806x_Device.h" // Headerfile Include File
#include "F2806x_Examples.h" // Examples Include File
#include "F2806x_SysCtrl.h"
#include "F2806x_Gpio.h"
void board_reset(void)
{
SysCtrlRegs.WDCR= 0x0068; //disable watchdog
return;
}
SysCtrlRegs is from C:\ti\controlSuite\device_support\f2806x\v151\F2806x_headers\include\F2806x_SysCtrl.h, which is code that I got from controlSuite.
I've added the folder C:\ti\controlSuite\device_support\f2806x\v151\F2806x_headers\include\ to the list of directory to search for header files in Properties->Build->C2000 Compiler->Include Options and it shows up under the list of includes in the Project Explorer pane.
I also have the same path added to the linker search path (see below). C:\ti\controlSuite\device_support\f2806x\v151\ is v151_ROOT.
Thanks in advance!