DSP

DM6446例子程序solution移植到Omap3530

2019-07-13 15:40发布

参考文章: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";
明白了? 以上都是个人见解,如果有问题是正常的,因为我是菜鸟  呵呵