I am following the documentation for Build/Run Instructions for Codec Engine Examples (build_instructions.html), and am receiving an error when I run the gmake commands for building the example DSP servers (step #5).
I am using the DM6446 DVEVM Kit.
This is the error I get after entering gmake clean and gmake in the servers directory:
/home/user/dvsdk_2_00_00_22/cg6x_6_0_21_1//home/user/dvsdk_2_00_00_22/cg6x_6_0_21_1/bin/cl6x -@ video_copy/compiler.opt -c main.c
gmake[2]: /home/user/dvsdk_2_00_00_22/cg6x_6_0_21_1//home/user/dvsdk_2_00_00_22/cg6x_6_0_21_1/bin/cl6x: Command not found
gmake[2]: *** [main.obj] Error 127
gmake[2]: Leaving directory `/home/user/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/servers/video_copy/evmDM6446'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/home/user/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/servers/video_copy'
gmake: *** [all] Error 2
[user@localhost servers]$
*****************************************************
Here is my user.bld file:
* ======== user.bld ========
*
* User note: YOU MUST MODIFY THIS FILE TO SPECIFY THE COMPILER TOOL PATHS.
*/
// This table list the targets for which to build libraries and programs, and for
// each target it lists where the compiler tools are and for what platforms
// the programs should be built. For all build variants where you specify
// that "doBuild" is "true", you must specify the compiler tools, and it is
// desirable to comment out unwanted platforms.
// Example: if you are only interested in building Arm-side examples for
// evmDM6446 running Montavista Arm Linux, set doBuild: false everywhere
// except for the first Arm "doBuild"; then, specify your Montavista Arm
// tools directory, and comment out all platforms for that build except
// for '{ platform: "evmDM6446" }'.
var buildTable = {
"Arm": [{doBuild: true, // standard build for Linux
target: "gnu.targets.arm.GCArmv5T",
// Arm tools. NOTE: make sure the directory you specify has a "bin" subdirectory
cgtoolsRootDir: "/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le",
platforms: [
// NOTE: comment out platforms (boards) below for which you don't // want to build
/* { description: "DaVinci evmDM357 board, ARM only", platform: "evmDM357", dualCpu: false, outDir: "bin/evmDM357" }, */
{ description: "DaVinci evmDM6446 board, ARM-side", platform: "evmDM6446", dualCpu: true, outDir: "bin/evmDM6446" },
/* { description: "DaVinci evmDM6467 board, ARM-side", platform: "evmDM6467", dualCpu: true, outDir: "bin/evmDM6467" },
{ description: "DaVinci evmDM355 board, ARM only", platform: "evmDM355" , dualCpu: false, outDir: "bin/evmDM355" },
{ description: "DaVinci evmDM365 board, ARM only", platform: "evmDM365" , dualCpu: false, outDir: "bin/evmDM365" },
// { description: "3430 SDP board, ARM-side only", platform: "sdp3430", dualCpu: true, outDir: "bin/sdp3430" },
{ description: "3530 EVM board, ARM-side only", platform: "evm3530", dualCpu: true, outDir: "bin/evm3530" },
{ description: "2530 EVM board, ARM-side only", platform: "evm2530", dualCpu: true, outDir: "bin/evm2530" },
{ description: "OMAP-L137 EVM, ARM-side only", platform: "evmOMAPL137", dualCpu: true, outDir: "bin/evmOMAPL137" }, */
],
},
{ doBuild: false, // build for uC Linux
target: "gnu.targets.UCArm9",
// UCLibc tools. NOTE: make sure the directory you specify has a "bin" subdirectory
cgtoolsRootDir: "/db/toolsrc/library/tools/vendors/opensource/buildroot/10122007/build_arm/staging_dir/usr",
platforms: [
/* { description: "DaVinci evmDM357 board, ARM only", platform: "evmDM357", dualCpu: false, outDir: "bin/evmDM357" }, */
{ description: "DaVinci evmDM6446 board, ARM-side", platform: "evmDM6446", dualCpu: true, outDir: "bin/evmDM6446" },
/* { description: "DaVinci evmDM6467 board, ARM-side", platform: "evmDM6467", dualCpu: true, outDir: "bin/evmDM6467" },
{ description: "DaVinci evmDM355 board, ARM only", platform: "evmDM355" , dualCpu: false, outDir: "bin/evmDM355" },
{ description: "DaVinci evmDM365 board, ARM only", platform: "evmDM365" , dualCpu: false, outDir: "bin/evmDM365" },
// { description: "3430 SDP board, ARM-side only", platform: "sdp3430", dualCpu: true, outDir: "bin/sdp3430" },
{ description: "3530 EVM board, ARM-side only", platform: "evm3530", dualCpu: true, outDir: "bin/evm3530" },
{ description: "2530 EVM board, ARM-side only", platform: "evm2530", dualCpu: true, outDir: "bin/evm2530" },
{ description: "OMAP-L137 EVM, ARM-side only", platform: "evmOMAPL137", dualCpu: true, outDir: "bin/evmOMAPL137" }, */
],
}],
"DSP": [{doBuild: true, // DSP builds (DSP servers for dual-CPU platforms or full apps for DSP-only platforms)
target: "ti.targets.C64P",
// specify the "root directory" for the compiler tools. NOTE: make sure the directory you specify has a "bin" subdirectory
cgtoolsRootDir: "/home/user/dvsdk_2_00_00_22/cg6x_6_0_21_1",
platforms: [ // NOTE: comment out platforms (boards) below for which you don't want to build
{ description: "DaVinci evmDM6446 board, DSP-side Server", platform: "evmDM6446", outDir: "bin/evmDM6446" },
/* { description: "DaVinci evmDM6467 board, DSP-side Server", platform: "evmDM6467", outDir: "bin/evmDM6467" },
{ description: "DaVinci evmDM6437 board, DSP only", platform: "evmDM6437", outDir: "bin/evmDM6437" },
// { description: "DaVinci evmDM648 board, DSP only", platform: "evmDM648", outDir: "bin/evmMD648" },
// { description: "3430 SDP board, DSP-side server", platform: "sdp3430", outDir: "bin/sdp3430" },
{ description: "3530 EVM board, DSP-side server", platform: "evm3530", outDir: "bin/evm3530" },
{ description: "2530 EVM board, DSP-side server", platform: "evm2530", outDir: "bin/evm2530" }, */
],
},
{doBuild: false, // DSP builds (DSP servers for dual-CPU platforms or full apps for DSP-only platforms)
target: "ti.targets.C674",
// specify the "root directory" for the compiler tools. NOTE: make sure the directory you specify has a "bin" subdirectory
// cgtoolsRootDir: "/db/toolsrc/library/tools/vendors/ti/c6x/6.1.5/Linux",
platforms: [ // NOTE: comment out platforms (boards) below for which you don't want to build
/* { description: "OMAP-L137 EVM, DSP-side Server", platform: "evmOMAPL137", outDir: "bin/evmOMAPL137" }, */
],
}],
"PC": [{doBuild: false, // build for PC Linux
target: "gnu.targets.Linux86",
// cgtoolsRootDir: "/db/toolsrc/library/tools/vendors/opensource/gcc/4.1.0/Linux/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu",
platforms: [ { platform: null, outDir: "bin/PC" } ],
}],
};
// -----------------------------------------------------------------------------
var targets = [];
var userbldBuildPlatforms = {};
for each (var cpu in buildTable) {
for (var t = 0; t < cpu.length; t++) {
if (cpu[t].doBuild) {
var targ = xdc.useModule(cpu[t].target);
targets.push(targ);
targ.rootDir = cpu[t].cgtoolsRootDir;
userbldBuildPlatforms[targ.name] = cpu[t].platforms;
}
}
}
Build.targets = targets;
// Expert users: you can specify any compiler toolchain-specific options
// here. For example, when using the CodeSourcery toolchain, you need to
// remove C++ references and add the pthread library.
// specify custom toolchain options
for (var i = 0; i < Build.targets.length; i++) {
var t = targets[i];
if (t.name == "GCArmv5T") {
//t.LONGNAME = "bin/arm-none-linux-gnueabi-gcc";
t.LONGNAME = "bin/arm_v5t_le-gcc";
}
}
*******************************************************************
And here is my xdcpaths.mak file:
# ======== xdcpaths.mak ========
# definition of XDC paths and commands
#
# This makefile constructs the "search path" for the XDC tools where it finds
# numerous components and packages needed to build Codec Engine examples and
# programs.
#
# USER NOTE:
# 1) you must specify various <component>_INSTALL_DIRs directores below to
# reflect your installation, where <component> is CE for Codec Engine,
# BIOS for DSP/BIOS, etc.
# 2) you must specify compiler path and name in CGTOOLS_* variables below
# 3) you can remove some of the devices from the "DEVICES" list and/or remove
# some of the types of binaries from the "PROGRAMS" list to reduce
# the build time (and possibly avoid checking for presence of a component
# you don't need)
# (Optional) Remove from this list the devices you're not interested in building
DEVICES := DM6446
# DM6467 DM6437 DM355 DM357 DM365 OMAP2530 OMAP3530 OMAPL137
# (Optional) Remove from the list the types of programs you're not
# interested in building (Note, this only assists in establishing the
# dependencies, via the XDCPATH, below. user.bld will dictate what
# _actually_ gets built):
#
# APP_CLIENT -- ARM client for codecs running on the DSP, on dual-CPU systems
# DSP_SERVER -- DSP server with the codecs, running on the DSP, on dual-CPUs
# APP_LOCAL -- Client+codecs in a single program, whether ARM only or DSP only
PROGRAMS := APP_CLIENT DSP_SERVER APP_LOCAL
# (Mandatory) Specify where various components are installed.
# What you need depends on what device(s) you're building for, what type(s) of
# programs you are building for, and whether your Codec Engine distribution
# includes a "cetools" directory. The legend:
# CE - Codec Engine (needed for ARM and for DSP)
# XDC - XDC tools (ARM and DSP)
# BIOS - DSP/BIOS (DSP only)
# XDAIS - XDAIS header files (ARM and DSP)
# FC - Framework Components, various resource managers (ARM and DSP)
# CMEM - Contiguous memory manager (ARM only)
# DSPLINK - Arm<->DSP communication software (ARM + DSP)
#
# you can omit directory specifications for the components you think you don't
# need (will be warned if you do, based on your DEVICES + PROGRAMS selection
# above).
CE_INSTALL_DIR :=/home/user/dvsdk_2_00_00_22/codec_engine_2_23_01
#_your_CE_installation_directory_/codec_engine_2_23_01
XDC_INSTALL_DIR :=/home/user/dvsdk_2_00_00_22/xdctools_3_10_05_61
#_your_XDCTOOLS_installation_directory/xdctools_3_10_03
BIOS_INSTALL_DIR :=/home/user/dvsdk_2_00_00_22/bios_5_33_03
#_your_SABIOS_installation_directory/bios_5_33_03
# no need to specify the installation directories below if your CE installation
# has cetools/ directory on top
USE_CETOOLS_IF_EXISTS := 1
XDAIS_INSTALL_DIR :=/home/user/dvsdk_2_00_00_22/xdais_6_23
#_your_xDAIS_installation_directory/xdais_6_23
DSPLINK_INSTALL_DIR :=/home/user/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt
#_your_DSPLink_installation_directory/dsplink-1_61_01-prebuilt
CMEM_INSTALL_DIR :=/home/user/dvsdk_2_00_00_22/linuxutils_2_23_01
#_your_CMEM_installation_directory/linuxutils_2_23_01
FC_INSTALL_DIR :=/home/user/dvsdk_2_00_00_22/framework_components_2_23_01
#_your_FC_installation_directory/framework_components_2_23_01
BIOSUTILS_INSTALL_DIR :=/home/user/dvsdk_2_00_00_22/biosutils_1_01_00
#_your_BIOSUTILS_installation_directory/biosutils
EDMA3_LLD_INSTALL_DIR :=/home/user/dvsdk_2_00_00_22/edma3_lld_1_05_00
#_your_EDMA3_LLD_installation_directory/edma3_lld_1_06_00_01
# LPM_INSTALL_DIR :=
#_your_LPM_installation_directory/local_power_manager_1_23_01
# (Mandatory) specify correct compiler paths and names for the architectures
# you'll be building for:
# compiler path and name for Montavista Arm 9 toolchain. NOTE: make sure the
# directory you specify has a "bin" subdirectory
CGTOOLS_V5T =/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le
#CGTOOLS_V5T =/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc
#/db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3
CC_V5T =/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc
#CC_V5T =/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc
#bin/arm-none-linux-gnueabi-gcc
CGTARGET = gnu.targets.arm.GCArmv5T
# compiler path and name for TI C64x toolchain. NOTE: make sure the
# directory you specify has a "bin" subdirectory
CGTOOLS_C64P =/home/user/dvsdk_2_00_00_22/cg6x_6_0_21_1
#/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux
CC_C64P =/home/user/dvsdk_2_00_00_22/cg6x_6_0_21_1/bin/cl6x
#bin/cl6x
# compiler path and name for TI C674 toolchain. NOTE: make sure the
# directory you specify has a "bin" subdirectory
CGTOOLS_C674 =/db/toolsrc/library/tools/vendors/ti/c6x/6.1.5/Linux
CC_C674 = bin/cl6x
# -----------------------------------------------------------------------------
# Utility variables - useful for over-riding these repos from the cmd line
CE_REPO ?= $(CE_INSTALL_DIR)/packages
CETOOLS_REPO ?= $(CE_INSTALL_DIR)/cetools/packages
# figure out what categories of devices we are to build for
ifneq (,$(findstring DM6446,$(DEVICES)))
DEVICES_DUALCPU := 1
endif
ifneq (,$(findstring DM6467,$(DEVICES)))
DEVICES_DUALCPU := 1
endif
ifneq (,$(findstring OMAP2530,$(DEVICES)))
DEVICES_DUALCPU := 1
endif
ifneq (,$(findstring OMAP3530,$(DEVICES)))
DEVICES_DUALCPU := 1
endif
ifneq (,$(findstring SDP3430,$(DEVICES)))
DEVICES_DUALCPU := 1
endif
ifneq (,$(findstring OMAPL137,$(DEVICES)))
DEVICES_DUALCPU := 1
endif
# Determine which components are necessary based on DEVICES and PROGRAMS
# All configurations require CE, XDC, XDAIS and FC
REQUIRE_CE := 1
REQUIRE_XDC := 1
REQUIRE_XDAIS := 1
REQUIRE_FC := 1
ifneq (,$(findstring DM6446,$(DEVICES)))
ifneq (, $(findstring APP_CLIENT, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_CMEM := 1
endif
ifneq (, $(findstring DSP_SERVER, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_BIOS := 1
endif
endif
ifneq (,$(findstring DM6467,$(DEVICES)))
ifneq (, $(findstring APP_CLIENT, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_CMEM := 1
endif
ifneq (, $(findstring DSP_SERVER, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_BIOS := 1
endif
endif
ifneq (,$(findstring DM355,$(DEVICES)))
ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) ))
REQUIRE_CMEM := 1
endif
endif
ifneq (,$(findstring DM357,$(DEVICES)))
ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) ))
REQUIRE_CMEM := 1
endif
endif
ifneq (,$(findstring DM365,$(DEVICES)))
ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) ))
REQUIRE_CMEM := 1
endif
endif
ifneq (,$(findstring DM6437,$(DEVICES)))
ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) ))
REQUIRE_BIOS := 1
endif
endif
ifneq (,$(findstring DM648,$(DEVICES)))
ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) ))
REQUIRE_BIOS := 1
endif
endif
ifneq (,$(findstring OMAP2530,$(DEVICES)))
ifneq (, $(findstring APP_CLIENT, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_CMEM := 1
endif
ifneq (, $(findstring DSP_SERVER, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_BIOS := 1
endif
endif
ifneq (,$(findstring OMAP3530,$(DEVICES)))
ifneq (, $(findstring APP_CLIENT, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_CMEM := 1
endif
ifneq (, $(findstring DSP_SERVER, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_BIOS := 1
endif
endif
ifneq (,$(findstring OMAPL137,$(DEVICES)))
ifneq (, $(findstring APP_CLIENT, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_CMEM := 1
endif
ifneq (, $(findstring DSP_SERVER, $(PROGRAMS) ))
REQUIRE_LINK := 1
REQUIRE_BIOS := 1
endif
endif
# Build the XDC path from the necessary components, verifying along the way
# that the required compoments are present
XDC_PATH :=
ERRMSG = which is invalid (could not find file "$(TEST_FILE)"). Set this in <codec engine examples>/xdcpaths.mak! See the build documentation to correct this error.
# CE_INSTALL_DIR is the location of your Codec Engine.
ifeq ($(REQUIRE_CE), 1)
TEST_FILE := $(CE_REPO)/ti/sdo/ce/package.xdc
ifeq ($(wildcard $(TEST_FILE)),)
$(error CE_INSTALL_DIR is set to "$(CE_INSTALL_DIR)", $(ERRMSG))
endif
XDC_PATH := $(CE_REPO)
endif
# Add cetools to XDCPATH if 1) $(USE_CETOOLS_IF_EXISTS) is set, and
# 2) the CE distribution has "cetools/"
USING_CETOOLS := 0
ifeq ($(USE_CETOOLS_IF_EXISTS), 1)
ifneq ($(wildcard $(CETOOLS_REPO)),)
USING_CETOOLS := 1
XDC_PATH := $(CETOOLS_REPO);$(XDC_PATH)
endif
endif
ifeq ($(USING_CETOOLS),0)
# XDAIS_INSTALL_DIR is the location of your XDAIS distribution
ifeq ($(REQUIRE_XDAIS), 1)
TEST_FILE := $(XDAIS_INSTALL_DIR)/packages/ti/xdais/package.xdc
ifeq ($(wildcard $(TEST_FILE)),)
$(error XDAIS_INSTALL_DIR is set to "$(XDAIS_INSTALL_DIR)", $(ERRMSG))
endif
XDC_PATH := $(XDC_PATH);$(XDAIS_INSTALL_DIR)/packages
endif
# DSPLINK_INSTALL_DIR is the location of your DSPLINK distribution
ifeq ($(REQUIRE_LINK), 1)
TEST_FILE := $(DSPLINK_INSTALL_DIR)/packages/dsplink/gpp/package.xdc
ifeq ($(wildcard $(TEST_FILE)),)
$(error DSPLINK_INSTALL_DIR is set to "$(DSPLINK_INSTALL_DIR)", $(ERRMSG))
endif
XDC_PATH := $(XDC_PATH);$(DSPLINK_INSTALL_DIR)/packages
endif
# CMEM_INSTALL_DIR is the location of your CMEM distribution
ifeq ($(REQUIRE_CMEM), 1)
TEST_FILE := $(CMEM_INSTALL_DIR)/packages/ti/sdo/linuxutils/cmem/package.xdc
ifeq ($(wildcard $(TEST_FILE)),)
$(error CMEM_INSTALL_DIR is set to "$(CMEM_INSTALL_DIR)", $(ERRMSG))
endif
XDC_PATH := $(XDC_PATH);$(CMEM_INSTALL_DIR)/packages
endif
# FC_INSTALL_DIR is the location of your Frameworks Components distribution
ifeq ($(REQUIRE_FC), 1)
TEST_FILE := $(FC_INSTALL_DIR)/packages/ti/sdo/fc/dskt2/package.xdc
ifeq ($(wildcard $(TEST_FILE)),)
$(error FC_INSTALL_DIR is set to "$(FC_INSTALL_DIR)", $(ERRMSG))
endif
XDC_PATH := $(XDC_PATH);$(FC_INSTALL_DIR)/packages
endif
# BIOSUTILS_INSTALL_DIR is the location of your BIOSUTILS distribution
ifeq ($(REQUIRE_BIOS), 1)
TEST_FILE := $(BIOSUTILS_INSTALL_DIR)/packages/ti/bios/utils/package.xdc
ifeq ($(wildcard $(TEST_FILE)),)
$(error BIOSUTILS_INSTALL_DIR is set to "$(BIOSUTILS_INSTALL_DIR)", $(ERRMSG))
endif
XDC_PATH := $(XDC_PATH);$(BIOSUTILS_INSTALL_DIR)/packages
endif
endif
# BIOS_INSTALL_DIR is the location of your BIOS distribution
ifeq ($(REQUIRE_BIOS), 1)
TEST_FILE := $(BIOS_INSTALL_DIR)/packages/ti/bios/package.xdc
ifeq ($(wildcard $(TEST_FILE)),)
$(error BIOS_INSTALL_DIR is set to "$(BIOS_INSTALL_DIR)", $(ERRMSG))
endif
XDC_PATH := $(XDC_PATH);$(BIOS_INSTALL_DIR)/packages
endif
# XDC_INSTALL_DIR is the location of your XDCTOOLS installation.
ifeq ($(REQUIRE_XDC), 1)
TEST_FILE := $(XDC_INSTALL_DIR)/packages/xdc/package.xdc
ifeq ($(wildcard $(TEST_FILE)),)
$(error XDC_INSTALL_DIR is set to "$(XDC_INSTALL_DIR)", $(ERRMSG))
endif
endif
# XDC_PATH is complete. Any other components you could add as
# XDC_PATH := <your component>/packages;$(XDC_PATH)
Let me know if you have any recommendations to help me get past this problem.
Thanks!