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.

编译arm application问题

Other Parts Discussed in Thread: OMAP3530

编译arm application的时候用到了RTSC中xdc.tools.configruo工具,我的makefile如下

 

#

# The makefile for sdk_vehdet module.

#

 

include /opt/env/dvsdk/Rules.make

 

XDCPATH    := $(DVSDK_PACKAGES_PATH)\;../../

 

MODULENAME := plateSDK

 

MODULEDIR  := ../$(MODULENAME)

 

CONFIGFILE := ./sdk.cfg

 

CPPFLAGS   := -Wall -o

LIBFLAGS   := -shared -fpic

 

libraries  := plateSDK.so

objs       := plateSDK.o

 

INCLUDE    := -I ../../include

 

MAINDIR    := ../demo

 

configfile := $(CONFIGDIR)/sdk.cfg

 

vpath %.h = ../../

vpath %.c = .

 

.PHONY : build config clean config_clean

 

build : $(libraries)

 

$(libraries) : $(objs)

$(LINK) $(LIBFLAGS)  *.o -o $@  $(LINKER_CMD)

 

@echo Copy library $@ to project main diretory ...

cp $@ $(MAINDIR)

 

 

%.o :   %.c

$(CC) $(shell cat $(COMPILER_OPT)) $(INCLUDE) -c $< -o $@

 

 

config : BUILDCONFIG

@$(XS) --xdcpath=$(XDCPATH) xdc.tools.configuro -o $(MODULEDIR) \

-t $(XDCTARGETS) -p $(XDCPLATFORMS) -c $(CSTOOL_DIR) sdk.cfg  

 

BUILDCONFIG :

@echo "[31mBegin to generate $(COMPILER_OPT) and $(LINKER_CMD) for \

$(MODULENAME).[0m"

 

clean:

$(RM) -r *.o $(libraries)

 

config_clean :

$(RM) -r $(TEMPFILES)

 

#

# The end of makefile.

#

但是在make config的时候出现如下错误:

 

will link with dsplink.gpp:export/BIN/ucLinux/OMAP3530/RELEASE/dsplink.lib

js: "/opt/env/dvsdk/xdctools_3_16_03_36/packages/xdc/cfg/Main.xs", line 40: XDC runtime error: can't find the library 'export/BIN/ucLinux/OMAP3530/RELEASE/dsplink.lib' specified by package dsplink.gpp. It wasn't found along the path '/opt/env/dvsdk/config/packages;/opt/env/dvsdk/dspbios_5_41_03_17/packages;/opt/env/dvsdk/biosutils_1_02_02/packages;/opt/env/dvsdk/codec-engine_2_26_02_11/packages;/opt/env/dvsdk/dsplink_1_65_00_02;/opt/env/dvsdk/codecs-omap3530_4_02_00_00/packages;/opt/env/dvsdk/edma3lld_01_11_00_03/packages;/opt/env/dvsdk/framework-components_2_26_00_01/packages;/opt/env/dvsdk/linuxutils_2_26_01_02/packages;/opt/env/dvsdk/xdais_6_26_01_03/packages;/opt/env/dvsdk/xdctools_3_16_03_36/packages;/opt/env/dvsdk/cgt6x_6_1_14/packages;/opt/env/dvsdk/local-power-manager_1_24_02_09/packages;/opt/env/dvsdk/linux-devkit/arm-none-linux-gnueabi/usr;/opt/env/dvsdk/c6accel_1_01_00_06;/opt/env/dvsdk/c6run_0_95_02_02;/opt/env/dvsdk/omap35x_graphics_sdk_4.00.00.01/packages;/home/wangth/workdir/omap3730/OCR_plate;/opt/env/dvsdk/xdctools_3_16_03_36/packages;..;'.提示错误显示在连接dsplink.lib的时候没有在xdcpath中的路径中找到。去$(LINK_INSTALL_DIR)下找了也确实没找到,重新make dsplink也没有找到。不知道该怎么办了?我的环境是dvsdk_dm3730-evm_4_02_00_06_setuplinux.setuplinux,平台式omap3730。

有谁遇到过相似的问题么?求指教!

 

 

  • 在make dsplink后需要make dsplink_install才会将dsplink.lib拷贝到$(LINK_INSTALL_DIR)目录中。

    如果还是不行请执行locate dsplink.lib找到生成的dsplink.lib文件,手动拷贝到$(LINK_INSTALL_DIR)目录。

  • 我看参照xdcpath.mak中

    CGTOOLS_V5T := /opt/env/toolchain/arm-2009q1

    CC_V5T := bin/arm-none-linux-gnueabi-gcc

    CGTARGET := gnu.targets.arm.GCArmv5T

    target设置成为 gnu.targets.arm.GCArmv5T,但是make config报错:

    js: "./package.bld", line 62: Error: template generation of 'compiler.opt' failed: xdc.services.global.XDCException: gnu.targets.UNDEFINED_EXECUTABLE: 'LONGNAME' must be defined for the target gnu.targets.arm.GCArmv5T

  • 谁能给出一个完整的xdc.tools.configuro 使用的完整实例?