参考文章:http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/t/47789.aspx
这个是solution目录:
newton@ubuntu:~/workspace/backup/solustion$ ls
config.bld soln07e_challenge1
config.bld~ soln08a_audio_video
custom.mak soln08b_audio_video_rtime
setpaths.sh soln08c_challenge1
setpaths.sh~ soln09a_publish_engine_vid_only
soln00a_install_scripts soln09b_publish_engine_aud_vid
soln00b_osd_utility soln09c_challenge1
soln05a_hello_world soln10a_build_engine
soln05b_extended_features soln10b_all_rtsc
soln05c_challenge1 soln10c_challenge1
soln05c_challenge2 soln11a_publish_server
soln05c_challenge3 soln11b_challenge1
soln05c_challenge4 soln12a_build_server
soln06a_audio_record soln12b_tracing
soln06b_audio_playback soln12c_challenge1
soln06c_audio_loopthru soln13a_real_h264
soln06d_challenge1 soln13b_h264_record
soln07a_osd_setup soln13c_playback
soln07b_video_record soln13d_challenge1
soln07c_video_playback soln14a_build_codec
soln07d_video_loopthru soln14b_build_codec_socrates
其中setpah.sh是设置环境变量的,
需要根据自己的环境设置,需要注意的有几点:
# where the Montavista lsp is installed
export MONTAVISTA_DEVKIT="/home/newton/toolchain"
由于omap3530用的不是Montavista,所以我就改成了我交叉编译工具的路径,是因为后面一个设置要用到,其实也应该可以把这个注释掉,这样就直接用完整路径了
export MVTOOL_PREFIX="/home/newton/toolchain/bin/arm-none-linux-gnueabi-"这个是交叉编译工具前缀
export EXEC_DIR="/home/newton/workdir/filesys/opt/dvsdk_example这个是./runxdc install后会把相应文件拷贝到相应的目录 这个目录是NFS系统的一个目录
另外一个要更改的就是config.bld
需要修改这几个地方:
var MVArm9 = xdc.useModule('gnu.targets.codesourcery.GCArmv5T');
MVArm9.platform = "ti.platforms.evm3530";
MVArm9.rootDir = java.lang.System.getenv("MONTAVISTA_DEVKIT") + "/arm-2008q1";
这几个地方是很纠结的,gnu.targets.codesourcery.GCArmv5t的目录是在/home/newton/dvsdk_3_00_02_44/xdctools_3_15_01_59/packages/gnu/targets/codesourcery
第二个参数是ARM平台选择ti.platforms.evm3530,注意前面那篇文章介绍是用omap3530,我的那个目录没有这个所以就用evm3530le
第三个参数是最纠结的了
可以用完整的交叉编译目录:/home/newton/toolchain/arm-2008q1但是绝对不能加arm-none-linux-gnueabi没改之前最后结尾是 arm-none-linux-gnueabi但是用在3530上就不能用这个了
因为交叉编译的命令是由几部分组成的
在 /home/newton/dvsdk_3_00_02_44/xdctools_3_15_01_59/packages/gnu/targets有一个文件ITarget.xs
var gccCmd = target.rootDir + "/" + target.LONGNAME;
target.rootDir就是由这个决定的,然后target.LONGNAME在/home/newton/dvsdk_3_00_02_44/xdctools_3_15_01_59/packages/gnu/targets/codesourcery目录的GCArmv5T.xdc 文件决定的
override config string LONGNAME = "bin/arm-none-linux-gnueabi-gcc";
明白了?
以上都是个人见解,如果有问题是正常的,因为我是菜鸟 呵呵