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.

DM6446 在severs上编译viddec_copy.a64p生成viddec_copy.x64p的问题

Other Parts Discussed in Thread: OMAP-L137, OMAP3530

我已经把codec和extensions编译通过了,在编译servers时出现以下错误:

config.bld: loading user build configuration file /home/wangwei/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/user.bld
js: "/home/wangwei/dvsdk_2_00_00_22/xdctools_3_10_03/packages/ti/targets/ITarget.xs", line 145: Error: /db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux cannot be found. Ensure that rootDir for the C64P target is set correctly in ./config.bld
    "./package.bld", line 64

gmake: *** [package.mak] Error 1
gmake: *** Deleting file `package.mak'
js: "/home/wangwei/dvsdk_2_00_00_22/xdctools_3_10_03/packages/xdc/tools/Cmdr.xs", line 40: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.

gmake[1]: *** [video_copy/linker.cmd] 错误 1
gmake[1]: Leaving directory `/home/wangwei/dvsdk_2_00_00_22/codec_engine_2_23_01/examples/ti/sdo/ce/examples/servers/video_copy/evmDM6446Sڻ2 

gmake: *** [all] 错误pGڻ . 

以下是我的user.bld文件和xdcpaths.mak文件

/*
 *  ======== 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: "/db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3",
              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: fals//e,  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: fals//e, outDir: "bin/evmDM355"  },
                   // { description: "DaVinci evmDM365 board, ARM only",  platform: "evmDM365" ,   dualCpu: fals//e, outDir: "bin/evmDM365"  },
                  // { description: "3430 SDP board, ARM-side only",     platform: "sdp3430",     dualCpu: tr//ue,  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:  flase, // 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: "/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux",
                 cgtoolsRootDir: "/home/wangwei/dvsdk_2_00_00_22/cg6x_6_0_16",
                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,// true, // 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,//true,  // 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_v5t_le-gcc";//"bin/arm-none-linux-gnueabi-gcc";
    }
}

 

--------------------------xdcpaths.mak----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 ======== 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/wangwei/dvsdk_2_00_00_22/codec_engine_2_23_01
XDC_INSTALL_DIR       := /home/wangwei/dvsdk_2_00_00_22/xdctools_3_10_03
BIOS_INSTALL_DIR      := /home/wangwei/dvsdk_2_00_00_22/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/wangwei/dvsdk_2_00_00_22/xdais_6_23
DSPLINK_INSTALL_DIR   := /home/wangwei/dvsdk_2_00_00_22/dsplink-1_61_03-prebuilt
CMEM_INSTALL_DIR      := /home/wangwei/dvsdk_2_00_00_22/linuxutils_2_23_01
FC_INSTALL_DIR        := /home/wangwei/dvsdk_2_00_00_22/framework_components_2_23_01
BIOSUTILS_INSTALL_DIR := /home/wangwei/dvsdk_2_00_00_22/biosutils_1_01_00
EDMA3_LLD_INSTALL_DIR := /home/wangwei/dvsdk_2_00_00_22/edma3_lld_1_06_00_01
LPM_INSTALL_DIR       := /home/wangwei/dvsdk_2_00_00_22/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 = /db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3
CC_V5T = 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 = /db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux
CC_C64P      = 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)