Hello,
I am trying out a simple test code using SYS/BIOS and PSP. The code has a single task that toggles a GPIO pin. However, when I try to build the project, I get the following linking error
<Linking>
undefined first referenced
symbol in file
--------- ----------------
_gpio0 ./Main.obj
_ti_psp_gpio_Gpio_setPinDir__E ./Main.obj
The Main.c has the following code segments
#include "ti/psp/cslr/cslr_syscfg0_OMAPL138.h"
#include "ti/psp/gpio/Gpio.h"
#include "ti/psp/cslr/soc_OMAPL138.h"
extern Gpio_Handle gpio0;
----- Inside initialization -----
CSL_SyscfgRegsOvly sysCfgRegs = (CSL_SyscfgRegsOvly)CSL_SYSCFG_0_REGS;
Error_Block eb;
Gpio_PinCmdArg pinCmdArg;
sysCfgRegs->PINMUX12 &= PINMUX12_GPIO5_MASK;
sysCfgRegs->PINMUX12 |= PINMUX12_GPIO5_ENABLE;
Error_init(&eb);
pinCmdArg.pin = GPIO5_1_PIN;
pinCmdArg.value = Gpio_Direction_Output;
Gpio_setPinDir(gpio0, &pinCmdArg,&eb);
The project built fine untill I added the segment highlighted in yellow.
I checked all the file paths and could not find what I am missing.
Linker options: -z -m"SysBios_GPIO2.map" --warn_sections -i"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/C6000 Code Generation Tools 7.2.2/lib" -i"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/C6000 Code Generation Tools 7.2.2/include" -i"C:/Program Files/Texas Instruments/ipc_1_22_03_23/packages" -i"C:/Program Files/Texas Instruments/bios_6_31_04_27/packages" -i"C:/Program Files/Texas Instruments/pspdrivers_02_10_01/packages" --reread_libs --rom_model
The following are the versions of various components
CGT: 7.2.2
XDCTools: 3.20.8.88
SYS/BIOS: 6.31.4.27
PSP: 2.10.1
Target: tt.targets.C674
Platform: ti.platforms.expOMAPL138 (I have the old OMAPL138 experimenter from logicpd)
CCS: 4.2.3
Could anyone please guide me on what I could be doing wrong? I am also not sure about the various versions of the components used. For example, the documentation for PSP says it requires XDC 3.16, but it is no longer available as far as I can see.
Thank you for your help,
Joe