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.

unresolved symbol Pinmux_Set_FuncSel, first referenced in /main.obj

Part Number: IWR1443
Other Parts Discussed in Thread: SYSBIOS

Tool/software: Code Composer Studio

Hello i have the problem when I build my project im getting the next errors:

#10010 null: errors encountered during linking; "programa_proyecto.out" not built

#10234-D null; unresolved symbols remain

gmake:***[all] Error 2

gmake[1]:***[programa_proyecto.out] Error 1

unresolved symbol Pinmux_Set_FuncSel, first referenced in /main.obj

the liberies of the drivers are included in the file and i want to know if someone could help me with this errors

The code:

#include <stdint.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
/*
#include <ti/common/mmwave_error.h>
#include <ti/common/sys_common.h>


#include <ti/drivers/osal/HwiP.h>

#include <ti/sysbios/gates/GateMutex.h   


*/

#include "ti/drivers/pinmux/include/pinmux_xwr14xx.h"
#include "ti/drivers/gpio/include/gpio_xwr14xx.h"
#include "ti/drivers/gpio/gpio.h"
#include "ti/drivers/pinmux/pinmux.h"
#include "ti/drivers/pinmux/include/reg_pinmux.h"


#include <ti/drivers/spi/SPI.h>


/**
 * main.c
 */

void ADC(void);
void comunicacion(void);
void lectura(void);
void done(void);


int main(void)
{
       // Configuracion de PINMUX para el SPIA

      Pinmux_Set_OverrideCtrl(SOC_XWR14XX_PINR8_PADAD,
                              PINMUX_OUTEN_RETAIN_HW_CTRL,
                               PINMUX_INPEN_RETAIN_HW_CTRL);

     Pinmux_Set_FuncSel(SOC_XWR14XX_PINR8_PADAD,
                         SOC_XWR14XX_PINR8_PADAD_SPIA_MOSI);

     Pinmux_Set_OverrideCtrl(SOC_XWR14XX_PINP5_PADAE,
                              PINMUX_OUTEN_RETAIN_HW_CTRL,
                              PINMUX_INPEN_RETAIN_HW_CTRL);

      Pinmux_Set_FuncSel(SOC_XWR14XX_PINP5_PADAE,
                         SOC_XWR14XX_PINP5_PADAE_SPIA_MISO);

      Pinmux_Set_OverrideCtrl(SOC_XWR14XX_PINR9_PADAF,
                              PINMUX_OUTEN_RETAIN_HW_CTRL,
                              PINMUX_INPEN_RETAIN_HW_CTRL);

      Pinmux_Set_FuncSel(SOC_XWR14XX_PINR9_PADAF,
                         SOC_XWR14XX_PINR9_PADAF_SPIA_CLK);

      Pinmux_Set_OverrideCtrl(SOC_XWR14XX_PINR7_PADAG,
                              PINMUX_OUTEN_RETAIN_HW_CTRL,
                              PINMUX_INPEN_RETAIN_HW_CTRL);

      Pinmux_Set_FuncSel(SOC_XWR14XX_PINR7_PADAG,
                         SOC_XWR14XX_PINR7_PADAG_SPIA_CS);

      //Desactivacion de pines que se conectaron para bajar costo al diseño

      //PIN R5
      Pinmux_Set_OverrideCtrl(SOC_XWR14XX_PINR5_PADAJ,
                               PINMUX_OUTPUT_DIS,
                                PINMUX_INPUT_DIS);

      Pinmux_Set_FuncSel(SOC_XWR14XX_PINR5_PADAJ,
                         SOC_XWR14XX_PINR5_PADAJ_GPIO_5);

      Pinmux_Set_Pull(SOC_XWR14XX_PINR5_PADAJ,
                      PINMUX_DISABLE_PULLS);

      //PIN R10
       Pinmux_Set_OverrideCtrl(SOC_XWR14XX_PINR10_PADAP,
                                    PINMUX_OUTPUT_DIS,
                                     PINMUX_INPUT_DIS);

       Pinmux_Set_FuncSel(SOC_XWR14XX_PINR10_PADAP,
                          SOC_XWR14XX_PINR10_PADAP_GPIO_7);

       Pinmux_Set_Pull(SOC_XWR14XX_PINR10_PADAP,
                           PINMUX_DISABLE_PULLS);

       //PIN R11
       Pinmux_Set_OverrideCtrl(SOC_XWR14XX_PINR11_PADAL,
                                         PINMUX_OUTPUT_DIS,
                                          PINMUX_INPUT_DIS);

       Pinmux_Set_FuncSel(SOC_XWR14XX_PINR11_PADAL,
                               SOC_XWR14XX_PINR11_PADAL_GPIO_8);

       Pinmux_Set_Pull(SOC_XWR14XX_PINR11_PADAL,
                                PINMUX_DISABLE_PULLS);

       //PIN R12
            Pinmux_Set_OverrideCtrl(SOC_XWR14XX_PINR12_PADAN,
                                              PINMUX_OUTPUT_DIS,
                                               PINMUX_INPUT_DIS);

            Pinmux_Set_FuncSel(SOC_XWR14XX_PINR12_PADAN,
                               SOC_XWR14XX_PINR12_PADAN_GPIO_10);

            Pinmux_Set_Pull(SOC_XWR14XX_PINR12_PADAN,
                                     PINMUX_DISABLE_PULLS);


}

void comunicacion(void){


    SPI_Handle  handle;      //abre el SPI peripheral
    SPI_Params spiParams;  //Parametros de la comunicacion SPI
    SPI_Transaction spiTransaction;  //indica cuantas tramas son enviadas por rxBuff y txBuff

    uint8_t txBuff, rxBuff;  //variables int de tamaño 8-bit

    SPI_init(); //Inicia el driver de SPI

    SPI_Params_init(&spiParams);  //inicia los parametros de SPI

    spiParams.dataSize = 8;       //define el tamaño de los paquetes enviados por SPI
    spiParams.mode = SPI_MASTER; //lo define como maestro
    spiParams.u.masterParams.bitRate = 10000000; // Velocidad de transmision
    spiParams.u.masterParams.numSlaves = 1;  //numero de esclavos
    spiParams.u.masterParams.slaveProf[0].chipSelect = 0;    //seleccion del esclavo
    spiParams.u.masterParams.slaveProf[0].ramBufLen = MIBSPI_RAM_MAX_ELEM;  //Numero maximo de elementos en la MibSPI RAM para 8bit la maxima tranferencia es 64 bytes
    spiParams.frameFormat = SPI_POL0_PHA0;  //formato de la trama polaridad 0 y fase 0
    spiParams.shiftFormat = SPI_MSB_FIRST;

    handle = SPI_open(0, &spiParams);  //manda mensaje en caso de que SPI no se active
      if (!handle) {
          System_printf("SPI did not open");
      }

    //Transmision de los datos

    spiTransaction.count = 2; //Numero de tramas de la transaccion
    spiTransaction.txBuf = txBuff;  //los datos que se transmiten
    spiTransaction.rxBuf = rxBuff;  //Los datos que se guardan

 /*  ret = SPI_transfer(handle, &spiTransaction);  //manda mensaje en caso de que SPI no transfiera
     if (!ret) {
          System_printf("Unsuccessful SPI transfer");
      }

*/


}

void lectura(void){




}


image of the errors:

  • Hello, 

    please post your full Console output.
    My Console output shows no errors: 


    **** Build of configuration Debug for project Pinmux_t807120 ****

    "C:\\ti\\ccs901\\ccs\\utils\\bin\\gmake" -k -j 2 all -O

    Building file: "../main.c"
    Invoking: ARM Compiler
    "C:/ti/CGT/ti-cgt-arm_18.12.2.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -me --include_path="C:/TI_Trash/CCS901/Pinmux_t807120" --include_path="C:/ti/CGT/ti-cgt-arm_18.12.2.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c"
    Finished building: "../main.c"

    Building target: "Pinmux_t807120.out"
    Invoking: ARM Linker
    "C:/ti/CGT/ti-cgt-arm_18.12.2.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -me -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"Pinmux_t807120.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/CGT/ti-cgt-arm_18.12.2.LTS/lib" -i"C:/ti/CGT/ti-cgt-arm_18.12.2.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="Pinmux_t807120_linkInfo.xml" --rom_model -o "Pinmux_t807120.out" "./main.obj" "../xwr1443_r4f.cmd" -llibc.a
    <Linking>
    Finished building target: "Pinmux_t807120.out"

    **** Build Finished ****


    Check linker file search paths. Should be like this:

  • Hello

    Here is what my console shows :


    **** Build of configuration Debug for project programa proyecto ****

    "C:\\ti\\ccs901\\ccs\\utils\\bin\\gmake" -k -j 4 all -O

    Building file: "../main.c"
    Invoking: ARM Compiler
    "C:/ti/ccs901/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -me --include_path="C:/ti/mmwave_industrial_toolbox_3_4_0" --include_path="C:/ti/mmwave_sdk_03_02_00_04/packages" --include_path="C:/ti/bios_6_73_01_01/packages" --include_path="C:/Users/victo/workspace_v9/programa proyecto" --include_path="C:/ti/xdctools_3_50_08_24_core/packages" --include_path="C:/ti/ccs901/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/include" --define=SOC_XWR14XX -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c"
    "../main.c", line 136: warning #225-D: function "System_printf" declared implicitly
    "../main.c", line 142: warning #515-D: a value of type "uint8_t" cannot be assigned to an entity of type "void *"
    "../main.c", line 142: warning #551-D: variable "txBuff" is used before its value is set
    "../main.c", line 143: warning #515-D: a value of type "uint8_t" cannot be assigned to an entity of type "void *"
    "../main.c", line 143: warning #551-D: variable "rxBuff" is used before its value is set
    "../main.c", line 117: warning #552-D: variable "spiTransaction" was set but never used
    Finished building: "../main.c"

    Building target: "programa proyecto.out"
    Invoking: ARM Linker
    "C:/ti/ccs901/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -me --define=SOC_XWR14XX -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"programa proyecto.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ccs901/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/lib" -i"C:/ti/ccs901/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="programa proyecto_linkInfo.xml" --rom_model -o "programa proyecto.out" "./main.obj" "../xwr1443_r4f.cmd" -llibc.a
    <Linking>

    undefined first referenced
    symbol in file
    --------- ----------------
    Pinmux_Set_FuncSel ./main.obj
    Pinmux_Set_OverrideCtrl ./main.obj
    Pinmux_Set_Pull ./main.obj
    SPI_Params_init ./main.obj
    SPI_init ./main.obj
    SPI_open ./main.obj
    System_printf ./main.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "programa proyecto.out" not built

    >> Compilation failure
    makefile:141: recipe for target 'programa proyecto.out' failed
    gmake[1]: *** [programa proyecto.out] Error 1
    makefile:137: recipe for target 'all' failed
    gmake: *** [all] Error 2

    **** Build Finished ****


    Cheers
    Victor
  • Hello Victor,

    System_printf() comes with XDCtools.

    In your case I would create a new SYS/BIOS project with XDCtools support and dependent on the mmWave SDK version you need.

    Needed pimux, spi and other needed libs you would find using a scheme like on the picture below:

  • Hello

    This solve my problem, i need it the other libraries, thanks for your help

    Cheers
    Victor