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 LCD_config, first referenced in <whole-program>

Other Parts Discussed in Thread: CC2650, CC2640

hi
I have downloadded a software patch which includes SPPBLEServer project . After making changes in the neccessary files , when i try run the code it shows this error during Linking. I can't fix this error. please help. I am usig SmarrtRF06 EB, and CC2650EM 71-D

  • Can you post what changes have you made?
  • Hi, Christin
    I could resolve that issue. but a new error came when i am trying to load my code into the board.
    Error connecting to the target:
    (Error -260 @ 0x0)
    An attempt to connect to the XDS110 failed.
    The cause may be one or more of: no XDS110 is connected, invalid
    firmware update, invalid XDS110 serial number, or faulty USB
    cable. The firmware and serial number may be updated using the
    xdsdfu utility found in the .../ccs_base/common/uscif/xds110
    directory of your installation. View the ReadMe.txt file there
    for instructions.
    (Emulation package 6.0.83.1)

    when i searched for this error , i found in onle link that i have to update firmware. for that i went to "C:\ti\ccsv6\ccs_base\common\uscif\xds110" this location and tried to run commands as given in readme. but i got "requested device not found on bus" error. I dont know what to do
  • Hi,
    I could resolve that issue too. i could successfully load the SPPBLEServer program but when i tried to load SSPClient program to other board it shows some loading error it could not open SPPBLEClient.out. Please help
  • Is this related? try the link in the discussion.

    e2e.ti.com/.../451597
  • hi,
    There are some other issues too. when i changed target device to CC2650 in project properties it shows some building errors like “ FLASH memory range has already been specified”, “FLASH memory range overlaps existing memory range FLASH” , “SRAM memory range overlaps existing memory range SRAM” .
  • what if you just set it to CC2640?

    Also it would be really helpful if you can post what have you changed so that I can try to reproduce the error. 


  • hi,
    When i changed variant from CC2640 to CC2650 it shows Some memory overlap errors (FLASH & SRAM). when i remove Linker command file it builds successefully. Is there any problem in doing so?

  •   Hi,
     When i build and try to lad the SPPBLEClient program , this is what i gets

  • Hi,

    I found a link  e2e.ti.com/.../452476 , and tried all possibilities as given. but i got an error like this. i dont know why

    The file is there under LCD

    But Board.h is not included under Board.c.. Is that the problem? if so how could i resolve it?

  • Pasted Board.h file @ “C:\ti\tirtos_simplelink_2_13_00_06\packages\ti\boards\SRF06EB” Now Board.h file is detected under Board.c, but the fatal error exist

  • The issue has been resolved by changeing include path to "ti/drivers/lcd/LCDDogm1286.h”. Now i could load the program successfully to board
  • The issue has been resolved by changeing include path to "ti/drivers/lcd/LCDDogm1286.h”. Now i could load the program successfully to board.
  • But ,
    Terra term is blank. Nothing appears there (Both Server and Client connection). Is it due to pin mapping problem? I hae modified board.h file eariler. I am using cc2650EM-71D and SmartRF06 EB. My modified pin mapping (For LEDs, KEYS, SPI, UART and LCD)is given below
    /*
    * Copyright (c) 2015, Texas Instruments Incorporated
    * All rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions
    * are met:
    *
    * * Redistributions of source code must retain the above copyright
    * notice, this list of conditions and the following disclaimer.
    *
    * * Redistributions in binary form must reproduce the above copyright
    * notice, this list of conditions and the following disclaimer in the
    * documentation and/or other materials provided with the distribution.
    *
    * * Neither the name of Texas Instruments Incorporated nor the names of
    * its contributors may be used to endorse or promote products derived
    * from this software without specific prior written permission.
    *
    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
    * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    */
    /** ============================================================================
    * @file Board.h
    *
    * @brief CC2650SENSORTAG Board Specific header file.
    *
    * NB! This is the board file for PCB versions 1.2 and 1.3
    *
    * The CC2650 header file should be included in an application as follows:
    * @code
    * #include <Board.h>
    * @endcode
    *
    * ============================================================================
    */
    #ifndef __BOARD_H__
    #define __BOARD_H__

    #ifdef __cplusplus
    extern "C" {
    #endif

    /** ============================================================================
    * Includes
    * ==========================================================================*/
    #include <ti/drivers/PIN.h>
    #include <driverlib/ioc.h>

    /** ============================================================================
    * Externs
    * ==========================================================================*/
    extern PIN_Config BoardGpioInitTable[];

    /** ============================================================================
    * Defines
    * ==========================================================================*/

    /* Symbol by generic Board.c to include the correct PCB specific Board.c */
    #define CC2650ST_0120

    /* Identify as SensorTag */
    #define CC2650ST_7ID

    /* Same RF Configuration as 7x7 EM */
    #define CC2650EM_7ID

    /* This PCB version supports magnetometer */
    #define FEATURE_MAGNETOMETER

    /* External flash manufacturer and device ID */
    #define EXT_FLASH_MAN_ID 0xEF
    #define EXT_FLASH_DEV_ID 0x12

    /* Mapping of pins to board signals using general board aliases
    * <board signal alias> <pin mapping>
    */

    /* Discrete outputs */
    #define Board_LED1 IOID_25 // IOID_10
    #define Board_LED2 IOID_27 //IOID_15
    #define Board_LED3 IOID_7 //-----------
    #define Board_LED4 IOID_6 //-----------

    #define Board_BUZZER IOID_21
    #define Board_LED_ON 1
    #define Board_LED_OFF 0
    #define Board_BUZZER_ON 1
    #define Board_BUZZER_OFF 0

    /* Discrete inputs */
    #define Board_KEY_LEFT IOID_15//IOID_0
    #define Board_KEY_RIGHT IOID_18//IOID_4
    #define Board_KEY_UP IOID_19//------------
    #define Board_KEY_DOWN IOID_12//------------
    #define Board_KEY_SELECT IOID_11//------------
    #define Board_RELAY IOID_3

    /* Sensor outputs */
    #define Board_MPU_INT IOID_7
    #define Board_TMP_RDY IOID_1

    /* I2C */
    #define Board_I2C0_SDA0 IOID_5
    #define Board_I2C0_SCL0 IOID_6
    #define Board_I2C0_SDA1 IOID_8
    #define Board_I2C0_SCL1 IOID_9

    /* SPI */
    #define Board_SPI_FLASH_CS IOID_14
    #define Board_SPI_DEVPK_CS IOID_20
    #define Board_FLASH_CS_ON 0
    #define Board_FLASH_CS_OFF 1
    #define Board_DEVPK_CS_ON 1
    #define Board_DEVPK_CS_OFF 0

    #define Board_SPI0_MISO IOID_8 //IOID_18
    #define Board_SPI0_MOSI IOID_9 //IOID_19
    #define Board_SPI0_CLK IOID_10 //IOID_17
    #define Board_SPI0_CSN PIN_UNASSIGNED
    #define Board_SPI1_MISO PIN_UNASSIGNED
    #define Board_SPI1_MOSI PIN_UNASSIGNED
    #define Board_SPI1_CLK PIN_UNASSIGNED
    #define Board_SPI1_CSN PIN_UNASSIGNED

    /* UART when connected to SRF06EB */
    #define Board_EB_UART_TX IOID_3 // IOID_16
    #define Board_EB_UART_RX IOID_2 //IOID_17

    /* DevPack */
    #define Board_AUDIOFS_TDO IOID_16
    #define Board_AUDIODO IOID_22
    #define Board_DP2 IOID_23
    #define Board_DP1 IOID_24
    #define Board_DP0 IOID_25
    #define Board_DP3 IOID_27
    #define Board_DP4_UARTRX IOID_2 //IOID_28
    #define Board_DP5_UARTTX IOID_3 //IOID_29
    #define Board_DEVPK_ID IOID_30

    /* Power control */
    #define Board_MPU_POWER IOID_12
    #define Board_MPU_POWER_ON 1
    #define Board_MPU_POWER_OFF 0


    /* LCD control */
    #define Board_3V3_EN IOID_13//--------------
    #define Board_LCD_MODE IOID_4//--------------
    #define Board_LCD_RST IOID_5//--------------
    #define Board_LCD_CSN IOID_14//--------------
    #define Board_LCD_SCK IOID_10//--------------



    /* Audio */
    #define Board_MIC_POWER IOID_13
    #define Board_MIC_POWER_ON 1
    #define Board_MIC_POWER_OFF 0
    #define Board_AUDIO_DI IOID_2
    #define Board_AUDIO_CLK IOID_11

    #define REV1_0 1
    #define REV1_2 2

    #ifndef DevPackBoard_REV
    #define DevPackBoard_REV REV1_2
    #endif

    #if defined(DevPackBoard_REV) && DevPackBoard_REV == REV1_0
    /* UART pins used by driver */
    #define Board_UART_TX Board_DP4_UARTRX
    #define Board_UART_RX Board_DP5_UARTTX

    #elif DevPackBoard_REV == REV1_2
    /* UART pins used by driver with RX/TX switched */
    #define Board_UART_TX Board_DP5_UARTTX
    #define Board_UART_RX Board_DP4_UARTRX
    #endif

    /** ============================================================================
    * Instance identifiers
    * ==========================================================================*/
    /* Generic I2C instance identifiers */
    #define Board_I2C CC2650_I2C0
    /* Generic SPI instance identifiers */
    #define Board_SPI0 CC2650_SPI0
    #define Board_SPI1 CC2650_SPI1
    /* Generic UART instance identifiers */
    #define Board_UART CC2650_UART0


    /** ============================================================================
    * Number of peripherals and their names
    * ==========================================================================*/

    /*!
    * @def CC2650_I2CName
    * @brief Enum of I2C names on the CC2650 dev board
    */
    typedef enum CC2650_I2CName {
    CC2650_I2C0 = 0,
    CC2650_I2CCOUNT
    } CC2650_I2CName;

    /*!
    * @def CC2650_CryptoName
    * @brief Enum of Crypto names on the CC2650 dev board
    */
    typedef enum CC2650_CryptoName {
    CC2650_CRYPTO0 = 0,
    CC2650_CRYPTOCOUNT
    } CC2650_CryptoName;


    /*!
    * @def CC2650_SPIName
    * @brief Enum of SPI names on the CC2650 dev board
    */
    typedef enum CC2650_SPIName {
    CC2650_SPI0 = 0,
    CC2650_SPI1,
    CC2650_SPICOUNT
    } CC2650_SPIName;

    /*!
    * @def CC2650_UARTName
    * @brief Enum of UARTs on the CC2650 dev board
    */
    typedef enum CC2650_UARTName {
    CC2650_UART0 = 0,
    CC2650_UARTCOUNT
    } CC2650_UARTName;

    /*!
    * @def CC2650_UdmaName
    * @brief Enum of DMA buffers
    */
    typedef enum CC2650_UdmaName {
    CC2650_UDMA0 = 0,
    CC2650_UDMACOUNT
    } CC2650_UdmaName;

    #ifdef __cplusplus
    }
    #endif

    #endif /* __BOARD_H__ */
  • hi,
    i could load the Client program successfully to Board and LCD shows that it is a client device. but when i load sever program display shows nothing. is that becoz of removing --define=TI_DRIVERS_LCD_INCLUDED from includes??? i have removed that in sever program. if i include that it produce error. without that how can i confirm client program is workin?
  • If you search the entire project with" TI_DRIVERS_LCD_INCLUDED", you will see it's used to decide if LCD should be power up in board_lcd.c. It's not recommend to modify those files. I will try to work on this hopefully today. But you should keep the pre-define as it is and debug from there.
  •  This what i am getting if include that.

  • i could clear the error by removing sensor tag files under startup folder . But still no output on LCD.
  • Since I am using CC2650 EM 71D Ithink i dont need that sensor tag file. When i debugg te code by setting break point, i can see that after SPPBLEServer_taskFxn creation it does not switch to that task. hangs somewhere
  • Hi,
    There are 3 tasks in main Icall task (prority 5), GAPRole task(priority 3), SDI task (Priority 2) and SPPBLEServer task(Priority 1). added break points in all these task functions and could see that after switching to Icall task program hangs somewhere and it can not switch to other task functions.
  • Hi,
    Program hangs after entering ICall_taskEntry function in SPPBLEServer.But SPPBLECLient works fine. Please help.
    Br,
    Abhijith

  • which SPP did you download? with or without SW handshake? I am going to try it now.

  • Hi,
    Can you explain? i didnt get what you mean . sorry
  • Hi,
    I downloaded Patch from www.ti.com/.../TIDC-SPPBLE-SW-RD link
  • ok, I am working on it now. you want to display stuff on RF06 LCD board?
  • I want to make that server portion working. if i flash pre built hex files , its working. But i cant run my code from CCS work space. Thats the problem. thats why nothing is displayed on LCD
    Thank you very much for your help
  •  Did you modify anything other than board files? I have no problem using this project and it's already running on my rf06 board.

    When you open that project, there are 2 board files included into the project, just exclude Board_SensorTag.c from the project and use Board.c(do your board modification there), don't touch Board_SensorTag.c

  • i have done this earlier , deleted my sensor tag board file. i have chenged pin mapping in Board.h file of my EM. but not working

  • But according to what you posted, you were modifying the board.h file for sensortag, not for RF06 board.
    The board.h file is locating in
    C:\ti\tirtos_simplelink_2_13_00_06\packages\ti\boards\SRF06EB\CC2650EM_7ID\Board.h
  • Hi,
    Sorry for the mistake. I have modified the board.h file lacated atC:\ti\tirtos_simplelink_2_13_00_06\packages\ti\boards\SRF06EB\CC2650EM_7ID\Board.h , not of sensor tag
  • Hi,
    Now both LCDs (Client and server)works fine , but the problem is button press functions not works at client side