在(一)中说了要改几个文件的路径才能单个build codec engine里的东西。
因为路径的问题很麻烦(至少本人觉得麻烦),所以在学习过程中开发自己的test程序时,
都是直接将自己的文件按照example里的方式及格式建立在example的文件夹里。
首先要说明的是,那几个文件里要配置的路径其实基本上都在
/home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/codec-engine_2_26_02_11这个目录里的Rules.make文件中。
并且在Rules.make这个文件中也有很详细的说明。
现在来看一下
/home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/codec-engine_2_26_02_11/examples中的xdcpaths.mak
这个文件,这个文件有点重要,因为不光是路径问题,
还配置了你在build的时候的目标板型号,操作系统类型,
以及程序运行在哪个处理器的分配方式(说不太请了,,)。
先从里面的内容看起抛去注释,第一行应该是
DEVICES := DM6446 DM6467 DM6437 DM355 DM365 OMAP2530 OMAP3530 OMAPL137 OMAPL138 X86
这个是选择你用的处理器的构架,你用哪个处理器就留下哪个,把其他的删掉。
当然你也可以都不删。就是到时候build codec的时候会用很久时间罢了。这里我用OMAPL138
所以删掉其他的之后变成
DEVICES :=OMAPL138
接着GPPOS := LINUX_GCC LINUX_UCLIBC WINCE
我们arm运行的是linux,所以WINCE可以删掉。而剩下的两个linux,只能留其中的一个。
所以我选择的是LINUX_GCC.
GPPOS := LINUX_GCC
然后是PROGRAMS := APP_CLIENT DSP_SERVER APP_LOCAL
这个注释里写的也很明白
# 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
我们用的omapl138,是arm+dsp,而且我想要使用dps运行我的算法,所以我选择了
PROGRAMS := APP_CLIENT DSP_SERVER
当然,如果要是不想用dsp的话,选择APP_LOCAL也行,不过经过测试,arm运行算法的效率比dsp差太多了。。。
以上配置好了,之后,再往下就是各种路径了。
我就把我配置好的路径贴上来了。
CE_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/codec-engine_2_26_02_11
XDC_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/xdctools_3_16_03_36
BIOS_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/dspbios_5_41_03_17
DSPLINK_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/dsplink_1_65_01_05_eng
这一眼就能看出是什么路径了,,condec engine,XDC工具,BIOS,DSPLINK
经过一段注释之后又是一堆路径
XDAIS_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/xdais_6_26_01_03
FC_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/framework-components_2_26_00_01
CMEM_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/linuxutils_2_26_02_05
WINCEUTILS_INSTALL_DIR:= /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/winceutils_1_01_00_01
BIOSUTILS_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/biosutils_1_02_02
EDMA3_LLD_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/edma3lld_01_11_02_05
LPM_INSTALL_DIR := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/local_power_manager_1_24_02_09
要说明的是,WINCEUTILS_INSTALL_DIR和LPM_INSTALL_DIR这两个路径,
因为我的DVSDK包里是没有wince和lpm的。。所以我就随便写了。因为本身我也用不到wince。。
只要前面配置GPPOS := LINUX_GCC LINUX_UCLIBC WINCE的时候,
没有选择WINCE就不会使用WINCEUTILS_INSTALL_DIR这个路径。
再往下都是编译器的路径了,下面这个是arm交叉编译链。
CGTOOLS_V5T := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/linux-devkit
CC_V5T := bin/arm-arago-linux-gnueabi-gcc
CGTARGET := gnu.targets.arm.GCArmv5T
下面这个依然是交叉编译链,如果在 GPPOS := LINUX_GCC LINUX_UCLIBC WINCE
中选择了LINUX_UCLIBC,就会使用这个,不选择的话就 不会 使用这个路径。
我的包里没有arm-linux-gcc,这也是我一开始选择LINUX_GCC的原因。
CGTOOLS_UCARM9 := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/linux-devkit
CC_UCARM9 := bin/arm-linux-gcc
再往下,看到WINCE了,就直接pass吧。
WINCE_ROOTDIR := C:/WINCE600
WINCE_PROJECTROOT := $(WINCE_ROOTDIR)/_your_ProjectRoot_/Wince600/TI_EVM_3530_ARMV4I
接着是dsp的交叉编译工具,两种核c64p和c674.
CGTOOLS_C64P := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/cgt6x_6_1_14
CGTOOLS_C674 := /home/yr/ti-dvsdk_omapl138-evm_04_03_00_06/cgt6x_6_1_14
最后一个是
CGTOOLS_LINUX86 := /usr
即x86构架下的编译工具,其实就是gcc吧。。。
再往下会有这么一段注释:
# Most users have no need to modify anything below this line.
我很听话,再往下的的东西我就没去看了。