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.

Can't make syslink helloword example

Hi,

I try to start syslink helloword example on my LCDK. Syslink is 2_21_01_05 version.

Here is my product.mak file:

#
#   Copyright (c) 2008-2012, Texas Instruments Incorporated
#
#   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.
#


SYSLINK_INSTALL_DIR = $(CURDIR)

# List of supported devices (choose one): OMAP3530, OMAPL1XX, TI816X, TI814X
#    TI813X, TI811X
#
DEVICE = OMAPL1XX

# Master core (GPP) OS type (choose one): Linux, Qnx, Bios
#
GPPOS = Linux

# SysLink Linux driver DEBUG/TRACE options (choose one): 0 or 1
#
# Note that these options are only used by the Linux HLOS driver.  RTOS
# side libraries, Qnx libraries, and user mode Linux libraries are always
# built in both debug and release profiles, and users can switch between
# them when linking their executable (without rebuilding SysLink).
#
# Enabling SYSLINK_BUILD_DEBUG enables runtime assertion checking and makes
# some internal 'static' methods and objects global (so you can set
# breakpoints on them and/or inspect them in a debugger).
#
# Enabling SYSLINK_TRACE_ENABLE enables tracing throughout the SysLink
# code base.  This is especially helpful during development, but may not
# be necessary at production.
#
SYSLINK_BUILD_DEBUG=1
SYSLINK_TRACE_ENABLE=1

# SysLink OPTIMIZE option (choose one): 0 or 1
#
# Enabling SYSLINK_BUILD_OPTIMIZE removes many runtime API checks.  As a
# result, if the user uses SysLink in an unsupported way, rather than getting
# a failing return value, the system may crash or become unstable.
# SYSLINK_BUILD_OPTIMIZED is intended to be used in a closed system where all
# code paths are known, and error conditions are ensured never to occur - so
# it's not for everyone.
#
# Note that SYSLINK_BUILD_OPTIMIZE removes these checks throughout the
# SysLink stack - that includes RTOS, user, and driver layers if applicable
# to your environment.
#
SYSLINK_BUILD_OPTIMIZE=0

# SysLink HLOS driver Notify options (choose one): NOTIFYDRIVERSHM,
#    NOTIFYDRIVERCIRC
#
SYSLINK_NOTIFYDRIVER=NOTIFYDRIVERSHM

# SysLink HLOS driver MessageQ Transport options (choose one): TRANSPORTSHM,
#    TRANSPORTSHMNOTIFY, TRANSPORTSHMCIRC
#
SYSLINK_TRANSPORT=TRANSPORTSHM

# Set SDK type when building for a TI SDK kit (choose one): EZSDK or NONE
#
SDK = NONE

# Define root dir to install SysLink driver and samples for target file-system
#
EXEC_DIR = /home/user/ti/sys_result

# Define file format for loader and slave executables (choose one): COFF, ELF
#
LOADER = ELF

# Optional: recommended to install all dependent components in one folder.
#
DEPOT = /home/user/ti


# Define the product variables for the device you will be using.
#
######## For OMAP3530 device ########
ifeq ("$(DEVICE)","OMAP3530")
LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_

# If LOADER=ELF then below elf tools path is required else set C64P path
ifeq ("$(LOADER)","ELF")
CGT_C64P_ELF_INSTALL_DIR= $(DEPOT)/_your_c64pelf_code_gen_install_
else
CGT_C64P_INSTALL_DIR    = $(DEPOT)/_your_c64p_code_gen_install_
endif

######## For TI816X device ########
else ifeq ("$(DEVICE)","TI816X")
LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_
CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/_your_c674elf_code_gen_install_

# SYS/BIOS timer frequency (ti.sysbios.timers.dmtimer.Timer.intFreq)
TI81XXDSP_DMTIMER_FREQ  = 32768

# If SDK=NONE then below tools path is required
ifeq ("$(SDK)","NONE")
CGT_M3_ELF_INSTALL_DIR  = $(DEPOT)/_your_m3elf_code_gen_install_
endif

######## For TI814X device ########
else ifeq ("$(DEVICE)","TI814X")
# Set one of the following OS variables
LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
QNX_INSTALL_DIR         = $(DEPOT)/_your_qnx_install_

CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_
CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/_your_c674elf_code_gen_install_

# SYS/BIOS timer frequency (ti.sysbios.timers.dmtimer.Timer.intFreq)
TI81XXDSP_DMTIMER_FREQ  = 20000000

# If SDK=NONE then below tools path is required
ifeq ("$(SDK)","NONE")
CGT_M3_ELF_INSTALL_DIR  = $(DEPOT)/_your_m3elf_code_gen_install_
endif

# If GPPOS=Bios then below tools path is required
ifeq ("$(GPPOS)","Bios")
CGT_A8_ELF_INSTALL_DIR  = $(DEPOT)/_your_a8elf_code_gen_install_
endif

######## For TI813X device ########
else ifeq ("$(DEVICE)","TI813X")
LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_

# If SDK=NONE then below tools path is required
ifeq ("$(SDK)","NONE")
CGT_M3_ELF_INSTALL_DIR  = $(DEPOT)/_your_m3elf_code_gen_install_
endif

######## For TI811X device ########
else ifeq ("$(DEVICE)","TI811X")
# Set one of the following OS variables
LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
QNX_INSTALL_DIR         = $(DEPOT)/_your_qnx_install_

CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_
CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/_your_c674elf_code_gen_install_

# SYS/BIOS timer frequency (ti.sysbios.timers.dmtimer.Timer.intFreq)
TI81XXDSP_DMTIMER_FREQ  = 20000000

# If SDK=NONE then below tools path is required
ifeq ("$(SDK)","NONE")
CGT_M3_ELF_INSTALL_DIR  = $(DEPOT)/_your_m3elf_code_gen_install_
endif

######## For OMAPL1XX device ########
else ifeq ("$(DEVICE)","OMAPL1XX")
LINUXKERNEL             = $(DEPOT)/ti-sdk-omapl138-lcdk-01.00.00/board-support/linux-3.1.10
CGT_ARM_INSTALL_DIR     = $(DEPOT)/arago-2011.09/armv5te
CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-arago-linux-gnueabi-
IPC_INSTALL_DIR         = $(DEPOT)/ipc_1_25_03_15
BIOS_INSTALL_DIR        = $(DEPOT)/bios_6_40_01_15
XDC_INSTALL_DIR         = $(DEPOT)/xdctools_3_30_01_25_core

# If LOADER=ELF then below elf tools path is required else set C674 path
ifeq ("$(LOADER)","ELF")
CGT_C674_ELF_INSTALL_DIR= /opt/ti/ccsv5/tools/compiler/c6000_7.4.2
else
CGT_C674_INSTALL_DIR= /opt/ti/ccsv5/tools/compiler/c6000_7.4.2
endif
######## End of device specific variables ########

else ifeq ($(MAKECMDGOALS), clean)
else ifeq ($(MAKECMDGOALS), clobber)
else ifeq ($(MAKECMDGOALS), .show-products)
else ifeq ($(MAKECMDGOALS), help)
else
    $(error DEVICE is set to "$(DEVICE)", which is invalid. Set this in <SysLink Install>/products.mak. Refer to the SysLink Install Guide for more information)
endif

# Use this goal to print your product variables.
.show-products:
    @echo "DEPOT                    = $(DEPOT)"
    @echo "DEVICE                   = $(DEVICE)"
    @echo "GPPOS                    = $(GPPOS)"
    @echo "SDK                      = $(SDK)"
    @echo "TI81XXDSP_DMTIMER_FREQ   = $(TI81XXDSP_DMTIMER_FREQ)"
    @echo "SYSLINK_BUILD_DEBUG      = $(SYSLINK_BUILD_DEBUG)"
    @echo "SYSLINK_BUILD_OPTIMIZE   = $(SYSLINK_BUILD_OPTIMIZE)"
    @echo "SYSLINK_TRACE_ENABLE     = $(SYSLINK_TRACE_ENABLE)"
    @echo "LOADER                   = $(LOADER)"
    @echo "SYSLINK_INSTALL_DIR      = $(SYSLINK_INSTALL_DIR)"
    @echo "IPC_INSTALL_DIR          = $(IPC_INSTALL_DIR)"
    @echo "BIOS_INSTALL_DIR         = $(BIOS_INSTALL_DIR)"
    @echo "XDC_INSTALL_DIR          = $(XDC_INSTALL_DIR)"
    @echo "LINUXKERNEL              = $(LINUXKERNEL)"
    @echo "QNX_INSTALL_DIR          = $(QNX_INSTALL_DIR)"
    @echo "CGT_ARM_PREFIX           = $(CGT_ARM_PREFIX)"
    @echo "CGT_C64P_INSTALL_DIR     = $(CGT_C64P_INSTALL_DIR)"
    @echo "CGT_C64P_ELF_INSTALL_DIR = $(CGT_C64P_INSTALL_DIR)"
    @echo "CGT_C674_INSTALL_DIR     = $(CGT_C674_INSTALL_DIR)"
    @echo "CGT_C674_ELF_INSTALL_DIR = $(CGT_C674_ELF_INSTALL_DIR)"
    @echo "CGT_M3_ELF_INSTALL_DIR   = $(CGT_M3_ELF_INSTALL_DIR)"
    @echo "CGT_A8_ELF_INSTALL_DIR   = $(CGT_A8_ELF_INSTALL_DIR)"
    @echo "EXEC_DIR                 = $(EXEC_DIR)"

Making syslink is success. Making examples isn't.

here is making helloword examle log:

#
# Making all ...
make -C host all
make[1]: Entering directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/host'
#
# Making all ...
make PROFILE=debug app_host
make[2]: Entering directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/host'
make[2]: Nothing to be done for `app_host'.
make[2]: Leaving directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/host'
make PROFILE=release app_host
make[2]: Entering directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/host'
make[2]: Nothing to be done for `app_host'.
make[2]: Leaving directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/host'
make[1]: Leaving directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/host'
make -C dsp all
make[1]: Entering directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/dsp'
make PROFILE=debug server_dsp.x
make[2]: Entering directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/dsp'
#
# Making bin/debug/server_dsp.xe674 ...
/opt/ti/ccsv5/tools/compiler/c6000_7.4.2/bin/lnk6x --abi=eabi -w -q -c -m bin/debug/obj/server_dsp.xe674.map -o bin/debug/server_dsp.xe674 bin/debug/obj/main_dsp.oe674 bin/debug/obj/Server.oe674 configuro/linker.cmd -l /opt/ti/ccsv5/tools/compiler/c6000_7.4.2/lib/rts6740_elf.lib

 undefined                                   first referenced                                                                                   
  symbol                                         in file                                                                                        
 ---------                                   ----------------                                                                                   
 ti_sdo_ipc_gates_GateMPSupportNull_query__E /home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/dsp/configuro/package/cfg/Dsp_pe674.oe674
 ti_sdo_ipc_gates_GatePeterson_query__E      /home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/dsp/configuro/package/cfg/Dsp_pe674.oe674
 ti_sdo_ipc_heaps_HeapMemMP_isBlocking__E    /home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/dsp/configuro/package/cfg/Dsp_pe674.oe674

error: unresolved symbols remain
error: errors encountered during linking; "bin/debug/server_dsp.xe674" not
   built
make[2]: *** [bin/debug/server_dsp.xe674] Error 1
make[2]: Leaving directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/dsp'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/user/ti/syslink_2_21_01_05/examples/ex01_helloworld/dsp'
make: *** [all] Error 2

Could you tell me, why does making of server_dsp.xe674 is unsuccessful?

Thanks.

  • Hi,

    Please refer the following TI wiki to build syslink.

    PFA of my modified "product.mak" file.

    #
    #   Copyright (c) 2008-2012, Texas Instruments Incorporated
    #
    #   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.
    #
    
    #Titus
    
    SYSLINK_INSTALL_DIR = $(CURDIR)
    
    # List of supported devices (choose one): OMAP3530, OMAPL1XX, TI816X, TI814X
    #    TI813X, TI811X
    #
    DEVICE = OMAPL1XX
    
    # Master core (GPP) OS type (choose one): Linux, Qnx, Bios
    #
    GPPOS = Linux
    
    # SysLink Linux driver DEBUG/TRACE options (choose one): 0 or 1
    #
    # Note that these options are only used by the Linux HLOS driver.  RTOS
    # side libraries, Qnx libraries, and user mode Linux libraries are always
    # built in both debug and release profiles, and users can switch between
    # them when linking their executable (without rebuilding SysLink).
    #
    # Enabling SYSLINK_BUILD_DEBUG enables runtime assertion checking and makes
    # some internal 'static' methods and objects global (so you can set
    # breakpoints on them and/or inspect them in a debugger).
    #
    # Enabling SYSLINK_TRACE_ENABLE enables tracing throughout the SysLink
    # code base.  This is especially helpful during development, but may not
    # be necessary at production.
    #
    SYSLINK_BUILD_DEBUG=1
    SYSLINK_TRACE_ENABLE=1
    
    # SysLink OPTIMIZE option (choose one): 0 or 1
    #
    # Enabling SYSLINK_BUILD_OPTIMIZE removes many runtime API checks.  As a
    # result, if the user uses SysLink in an unsupported way, rather than getting
    # a failing return value, the system may crash or become unstable.
    # SYSLINK_BUILD_OPTIMIZED is intended to be used in a closed system where all
    # code paths are known, and error conditions are ensured never to occur - so
    # it's not for everyone.
    #
    # Note that SYSLINK_BUILD_OPTIMIZE removes these checks throughout the
    # SysLink stack - that includes RTOS, user, and driver layers if applicable
    # to your environment.
    #
    SYSLINK_BUILD_OPTIMIZE=0
    
    # SysLink HLOS driver Notify options (choose one): NOTIFYDRIVERSHM,
    #    NOTIFYDRIVERCIRC
    #
    SYSLINK_NOTIFYDRIVER=NOTIFYDRIVERSHM
    
    # SysLink HLOS driver MessageQ Transport options (choose one): TRANSPORTSHM,
    #    TRANSPORTSHMNOTIFY, TRANSPORTSHMCIRC
    #
    SYSLINK_TRANSPORT=TRANSPORTSHM
    
    # Set SDK type when building for a TI SDK kit (choose one): EZSDK or NONE
    #
    SDK = NONE
    
    # Define root dir to install SysLink driver and samples for target file-system
    #
    EXEC_DIR = /home/titus/workdir/ti-e2e/src/syslink_2_21_01_05/INSTALL
    
    # Define file format for loader and slave executables (choose one): COFF, ELF
    #
    LOADER = ELF
    
    # Optional: recommended to install all dependent components in one folder.
    #
    DEPOT = _your_depot_install_
    
    # Define the product variables for the device you will be using.
    #
    ######## For OMAP3530 device ########
    ifeq ("$(DEVICE)","OMAP3530")
    LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
    CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
    CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
    IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
    BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
    XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_
    
    # If LOADER=ELF then below elf tools path is required else set C64P path
    ifeq ("$(LOADER)","ELF")
    CGT_C64P_ELF_INSTALL_DIR= $(DEPOT)/_your_c64pelf_code_gen_install_
    else
    CGT_C64P_INSTALL_DIR    = $(DEPOT)/_your_c64p_code_gen_install_
    endif
    
    ######## For TI816X device ########
    else ifeq ("$(DEVICE)","TI816X")
    LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
    CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
    CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
    IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
    BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
    XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_
    CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/_your_c674elf_code_gen_install_
    
    # SYS/BIOS timer frequency (ti.sysbios.timers.dmtimer.Timer.intFreq)
    TI81XXDSP_DMTIMER_FREQ  = 32768
    
    # If SDK=NONE then below tools path is required
    ifeq ("$(SDK)","NONE")
    CGT_M3_ELF_INSTALL_DIR  = $(DEPOT)/_your_m3elf_code_gen_install_
    endif
    
    ######## For TI814X device ########
    else ifeq ("$(DEVICE)","TI814X")
    # Set one of the following OS variables
    LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
    QNX_INSTALL_DIR         = $(DEPOT)/_your_qnx_install_
    
    CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
    CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
    IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
    BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
    XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_
    CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/_your_c674elf_code_gen_install_
    
    # SYS/BIOS timer frequency (ti.sysbios.timers.dmtimer.Timer.intFreq)
    TI81XXDSP_DMTIMER_FREQ  = 20000000
    
    # If SDK=NONE then below tools path is required
    ifeq ("$(SDK)","NONE")
    CGT_M3_ELF_INSTALL_DIR  = $(DEPOT)/_your_m3elf_code_gen_install_
    endif
    
    # If GPPOS=Bios then below tools path is required
    ifeq ("$(GPPOS)","Bios")
    CGT_A8_ELF_INSTALL_DIR  = $(DEPOT)/_your_a8elf_code_gen_install_
    endif
    
    ######## For TI813X device ########
    else ifeq ("$(DEVICE)","TI813X")
    LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
    CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
    CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
    IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
    BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
    XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_
    
    # If SDK=NONE then below tools path is required
    ifeq ("$(SDK)","NONE")
    CGT_M3_ELF_INSTALL_DIR  = $(DEPOT)/_your_m3elf_code_gen_install_
    endif
    
    ######## For TI811X device ########
    else ifeq ("$(DEVICE)","TI811X")
    # Set one of the following OS variables
    LINUXKERNEL             = $(DEPOT)/_your_linux_kernel_install_
    QNX_INSTALL_DIR         = $(DEPOT)/_your_qnx_install_
    
    CGT_ARM_INSTALL_DIR     = $(DEPOT)/_your_arm_code_gen_install_
    CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-none-linux-gnueabi-
    IPC_INSTALL_DIR         = $(DEPOT)/_your_ipc_install_
    BIOS_INSTALL_DIR        = $(DEPOT)/_your_bios_install_
    XDC_INSTALL_DIR         = $(DEPOT)/_your_xdctools_install_
    CGT_C674_ELF_INSTALL_DIR= $(DEPOT)/_your_c674elf_code_gen_install_
    
    # SYS/BIOS timer frequency (ti.sysbios.timers.dmtimer.Timer.intFreq)
    TI81XXDSP_DMTIMER_FREQ  = 20000000
    
    # If SDK=NONE then below tools path is required
    ifeq ("$(SDK)","NONE")
    CGT_M3_ELF_INSTALL_DIR  = $(DEPOT)/_your_m3elf_code_gen_install_
    endif
    
    ######## For OMAPL1XX device ########
    #Titus
    else ifeq ("$(DEVICE)","OMAPL1XX")
    LINUXKERNEL             = /home/titus/workdir/ti-e2e/src/DaVinci-PSP-SDK-03.22.00.06/src/kernel/linux-davinci
    CGT_ARM_INSTALL_DIR     = /opt/toolchain/arago-2011.09-armv7a-linux-gnueabi-sdk/arago-2011.09/armv7a
    CGT_ARM_PREFIX          = $(CGT_ARM_INSTALL_DIR)/bin/arm-arago-linux-gnueabi-
    IPC_INSTALL_DIR         = /opt/ti/ipc_1_25_03_15
    BIOS_INSTALL_DIR        = /opt/ti/bios_6_35_04_50
    XDC_INSTALL_DIR         = /opt/ti/xdctools_3_25_03_72
    
    # If LOADER=ELF then below elf tools path is required else set C674 path
    ifeq ("$(LOADER)","ELF")
    CGT_C674_ELF_INSTALL_DIR= /opt/ti/C6000CGT7.4.6
    else
    CGT_C674_INSTALL_DIR= /opt/ti/C6000CGT7.4.6
    endif
    ######## End of device specific variables ########
    
    else ifeq ($(MAKECMDGOALS), clean)
    else ifeq ($(MAKECMDGOALS), clobber)
    else ifeq ($(MAKECMDGOALS), .show-products)
    else ifeq ($(MAKECMDGOALS), help)
    else
        $(error DEVICE is set to "$(DEVICE)", which is invalid. Set this in <SysLink Install>/products.mak. Refer to the SysLink Install Guide for more information)
    endif
    
    # Use this goal to print your product variables.
    .show-products:
    	@echo "DEPOT                    = $(DEPOT)"
    	@echo "DEVICE                   = $(DEVICE)"
    	@echo "GPPOS                    = $(GPPOS)"
    	@echo "SDK                      = $(SDK)"
    	@echo "TI81XXDSP_DMTIMER_FREQ   = $(TI81XXDSP_DMTIMER_FREQ)"
    	@echo "SYSLINK_BUILD_DEBUG      = $(SYSLINK_BUILD_DEBUG)"
    	@echo "SYSLINK_BUILD_OPTIMIZE   = $(SYSLINK_BUILD_OPTIMIZE)"
    	@echo "SYSLINK_TRACE_ENABLE     = $(SYSLINK_TRACE_ENABLE)"
    	@echo "LOADER                   = $(LOADER)"
    	@echo "SYSLINK_INSTALL_DIR      = $(SYSLINK_INSTALL_DIR)"
    	@echo "IPC_INSTALL_DIR          = $(IPC_INSTALL_DIR)"
    	@echo "BIOS_INSTALL_DIR         = $(BIOS_INSTALL_DIR)"
    	@echo "XDC_INSTALL_DIR          = $(XDC_INSTALL_DIR)"
    	@echo "LINUXKERNEL              = $(LINUXKERNEL)"
    	@echo "QNX_INSTALL_DIR          = $(QNX_INSTALL_DIR)"
    	@echo "CGT_ARM_PREFIX           = $(CGT_ARM_PREFIX)"
    	@echo "CGT_C64P_INSTALL_DIR     = $(CGT_C64P_INSTALL_DIR)"
    	@echo "CGT_C64P_ELF_INSTALL_DIR = $(CGT_C64P_INSTALL_DIR)"
    	@echo "CGT_C674_INSTALL_DIR     = $(CGT_C674_INSTALL_DIR)"
    	@echo "CGT_C674_ELF_INSTALL_DIR = $(CGT_C674_ELF_INSTALL_DIR)"
    	@echo "CGT_M3_ELF_INSTALL_DIR   = $(CGT_M3_ELF_INSTALL_DIR)"
    	@echo "CGT_A8_ELF_INSTALL_DIR   = $(CGT_A8_ELF_INSTALL_DIR)"
    	@echo "EXEC_DIR                 = $(EXEC_DIR)"
    

  • I can't see any significant differences in our product.mak file.

    I refer this two links:

    http://processors.wiki.ti.com/index.php/MCSDK_OMAPL138_User_Guide_Chapter_Exploring#Syslink

    http://processors.wiki.ti.com/index.php/SysLink_Install_Guide

    I solved problem with kernel 3.3 and successfuly build syslink. Then I made changes in syslink_2_21_01_05/examples/ex33_umsg_ori/linux/Makefile but it didn't help.

    Are there another special features that I should know?

    Thanks.

  • Hi Alex,

    I solved problem with kernel 3.3 and successfuly build syslink. Then I made changes in syslink_2_21_01_05/examples/ex33_umsg_ori/linux/Makefile but it didn't help.

    Are there another special features that I should know?

    Are you able to fix the problem ?

    Why did you modify the "Makefile" ?

    Any requirements ?

  • If i were able to fix this problem, I wouldn't ask this question here.

    because this link:
    http://processors.wiki.ti.com/index.php/MCSDK_OMAPL138_User_Guide_Chapter_Exploring#Syslink

    NOTE : While building syslink and examples if arago toolchain is used then we have update ex33_umsg for correct toolchain
    From CFLAGS = CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm
    to CFLAGS = CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm

  • Hi Alex,

    Did you mean that you are not able to build after changed to arago toolchain in Makefile ?

    I have modified and built successfully the example "ex33_umsg".

    #
    #  Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
    #
    #  This program is free software: you can redistribute it and/or modify
    #  it under the terms of the GNU General Public License as published by
    #  the Free Software Foundation; version 2 of the License.
    #
    #  This program is distributed in the hope that it will be useful,
    #  but WITHOUT ANY WARRANTY; without even the implied warranty of
    #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #  GNU General Public License for more details.
    #
    #  You should have received a copy of the GNU General Public License
    #  along with this program.  If not, see <http://www.gnu.org/licenses/>
    #
    
    ifeq ($(KERNELRELEASE),)
    
    EXBASE = ..
    include $(EXBASE)/products.mak
    
    CFLAGS = CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm
    EXTRA_CFLAGS = "-I$(IPC_INSTALL_DIR)/packages -I$(SYSLINK_INSTALL_DIR)/packages"
    
    all:PATH:=$(CGT_ARM_INSTALL_DIR)/bin:$(PATH)
    all:
    	echo "CGT_ARM_INSTALL_DIR=$(CGT_ARM_INSTALL_DIR)"
    	$(MAKE) -C $(LINUXKERNEL) M=$(CURDIR) $(CFLAGS) \
                EXTRA_CFLAGS=$(EXTRA_CFLAGS) modules
    
    clean::
    	$(MAKE) -C $(LINUXKERNEL) M=$(CURDIR) clean
    	rm -f modules.order
    	rm -f Modules.symvers
    
    else
    
    obj-m := umsg.o
    umsg-objs := driver.o umsg_drv.o
    
    endif
    

  • Hi Titus,

    no, I mean that I'm not able to build examples by "make examples" command and there is no metter is there arm-none-linux-gnueabi- or arm-arago-linux-gnueabi in ex33_umsg makefile.

    I have built successfully this example too, but only with arm-arago-linux-gnueabi in make file.
    As I can see at the log it doesn't work with server_dsp.xe674.
    Can you make ex01_helloword which unsuccessful try to make this server?

    p.s.

    I noticed that you are using compiler 7.4.4 and I use 7.4.2, can be problem in this difference?

  • Just update all tools to the latest versions and everythig became work fine! Thank Titus for help!

  • Hi Alex,

    Sounds good.

    Thanks for your update.