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.

SPPBLEServer compile error

Hello,

I am just trying to build the SPPBLEServer project and did all the necessary steps mentioned in the support document like copying the files to their corresponding locations in simplelink.  Below are the errors which I couldn't get through. Can you please help me with the issue?

Thanks

Venkatesh

  • Hi Chirstin,

    Its SmartRF06 Evaluation Board.

    Thanks,
    Venkatesh
  • What modification have you done? Did you include board.h which indicates that your are using SmartRF06 board?
  • Yes, board.h is included which is indicating SmartRF06 board. Its exactly defined with CC2650EM_7ID

    Thanks.

    Venkatesh

  • Did you also modify the search path?
  • I haven't, but just checked it out and it is proper. Attaching the picture of it for your reference.

  • Can you show me the folder under startup? and open your board.c file, find the #include <Board.h>.

    right click on the board.h, and pick Open Declaration to see which board.h is actually included in your project.

  • Hi Christin,

    Yes, that was the problem. Both the boards were included and I excluded the sensortag board from build.
    But now, make file error 1 appears. Attaching the build log for reference.

    Initially xdctools_3_31_01_33_core folder was empty in the ti folder. I downloaded the same xdctool and replaced the empty folder with new one.


    Thanks,
    Venkatesh

  • Can you show me the general setting of your project? The log you posted shows that the project is set to use XDC 3_32_00_06 version

  • Hi Christin,

    Yes, I am also trying to change it to xdc3_31_1_33 version. Below is the picture for the corresponding settings.

    Thanks,

    Venkatesh

  • And when I tried to build with above shown settings, this is the error I encountered with

  • Try to rebuild both stack and application and see if you still have problem.
  • Hi Christin,

    I tried to rebuild both stack and application but the same error is still there.

    Thanks,
    Venkatesh
  • Did you modify anything else in the project? I don't have that problem in my own setup.

    Can you post your cc26xx_ble_app.cmd file here?
  • No, I haven't changed anything else in the project. Here is the cc26xx_ble_app.cmd file


    /* Retain interrupt vector table variable */
    --retain=g_pfnVectors
    /* Override default entry point. */
    --entry_point ResetISR
    /* Suppress warnings and errors: */
    /* - 10063: Warning about entry point not being _c_int00 */
    /* - 16011, 16012: 8-byte alignment errors. Observed when linking in object */
    /* files compiled using Keil (ARM compiler) */
    --diag_suppress=10063,16011,16012

    /* The following command line options are set as part of the CCS project. */
    /* If you are building using the command line, or for some reason want to */
    /* define them here, you can uncomment and modify these lines as needed. */
    /* If you are using CCS for building, it is probably better to make any such */
    /* modifications in your CCS project and leave this file alone. */
    /* */
    /* --heap_size=0 */
    /* --stack_size=256 */
    /* --library=rtsv7M3_T_le_eabi.lib */

    /* The starting address of the application. Normally the interrupt vectors */
    /* must be located at the beginning of the application. */
    #define APP_BASE 0x00000000
    #define FLASH_SIZE 0x20000
    #define RAM_BASE 0x20000000
    #define RAM_SIZE 0x5000


    /* System memory map */

    MEMORY
    {
    /* EDITOR'S NOTE:
    * the FLASH and SRAM lengths can be changed by defining
    * ICALL_STACK0_ADDR or ICALL_RAM0_ADDR in
    * Properties->ARM Linker->Advanced Options->Command File Preprocessing.
    */

    /* Application stored in and executes from internal flash */
    /* Flash Size 128 KB */
    #ifdef ICALL_STACK0_ADDR
    FLASH (RX) : origin = APP_BASE, length = ICALL_STACK0_ADDR - APP_BASE - 1
    #else // default
    FLASH (RX) : origin = APP_BASE, length = 0x00008FFF
    #endif

    // CCFG Page, contains .ccfg code section and some application code.
    FLASH_LAST_PAGE (RX) : origin = FLASH_SIZE - 0x1000, length = 0x1000

    /* Application uses internal RAM for data */
    /* RAM Size 16 KB */
    #ifdef ICALL_RAM0_ADDR
    SRAM (RWX) : origin = RAM_BASE, length = ICALL_RAM0_ADDR - RAM_BASE - 1
    #else //default
    SRAM (RWX) : origin = RAM_BASE, length = 0x00002CFF
    #endif
    }

    /* Section allocation in memory */

    SECTIONS
    {
    .intvecs : > APP_BASE
    .text : >> FLASH | FLASH_LAST_PAGE
    .const : >> FLASH | FLASH_LAST_PAGE
    .constdata : >> FLASH | FLASH_LAST_PAGE
    .rodata : >> FLASH | FLASH_LAST_PAGE
    .cinit : > FLASH | FLASH_LAST_PAGE
    .pinit : >> FLASH | FLASH_LAST_PAGE
    .init_array : >> FLASH | FLASH_LAST_PAGE
    .emb_text : >> FLASH | FLASH_LAST_PAGE
    .ccfg : > FLASH_LAST_PAGE (HIGH)

    .vtable : > SRAM
    .vtable_ram : > SRAM
    vtable_ram : > SRAM
    .data : > SRAM
    .bss : > SRAM
    .sysmem : > SRAM
    .stack : > SRAM (HIGH)
    .nonretenvar : > SRAM
    }

    /* Create global constant that points to top of stack */
    /* CCS: Change stack size under Project Properties */
    __STACK_TOP = __stack + __STACK_SIZE;

    /* Allow main() to take args */
    --args 0x8




    Thanks,
    Venkatesh
  • Hi Christin,

    I did a fresh installation of simplelink and copied the patch files to make sure that the project files are not modified, but the error remains same.
    Wondering if there is any solution for the issue.

    Thanks,
    Venkatesh
  • Hi,

    You can reduce the heap size from the application side to make the project fit into the memory.

    The heap can be changed in pre-defined symbol as shown below.
    HEAPMGR_SIZE=4096
    Please take a look at our software developer's guide section 9.10 and 9.6
  • Hi Christin,

    I tried to reduce the heap size but I ended with the same result.
    Instead, I modified ICALL_STACK0_ADDR and ICALL_RAM0_ADDR as mentioned in this thread ( e2e.ti.com/.../477933 ). It worked perfectly.

    Trying to find out if this is a right method to do. I will be thankful for any suggestion related to this.

    Thanks,
    Venkatesh
  • That's another solution too.
  • Hi Christin,

    Thank you very much for the support.

    Regards,
    Venkatesh