TI XDC工具入门简介

转载 2011年01月17日 09:08:00

1.XDC(Express DSP Component)是TI提供的一个命令行工具,它可以生成并使用实时软件组件包。

TI <wbr>XDC工具入门简介

TI <wbr>XDC工具入门简介

2.以上两图说明了XDC的工作方式:通过相关文件设定操作指令,读入源码、库文件以及已经存在的组件包最终生成可执行文件。

3.Package------XDC工作的基本单元。包括有:源码、库文件以及元数据;元数据这包含有该包的版本信息和依赖信息,以及模块(Module)信息。

4.XDC使用方法:

TI <wbr>XDC工具入门简介

TI <wbr>XDC工具入门简介
5.XDC需要的文件:config.bld  package.bld  package.xdc :

Package.xdc ---描述该包的名称,版本信息,依赖文件,模块信息等

TI <wbr>XDC工具入门简介
Config.bld ---描述XDC要使用的编译工具的相关信息,如不同CPU所使用的编译工具目录,每种编译工具的编译选项,连接选项等基本信息;

TI <wbr>XDC工具入门简介

Package.bld ---描述对于该包需要生成的平台,profile(debug,release)。通过Javascript脚本添加源码到生成执行文件的信息中。

Package.mak---由XDC生成的文件,用于最终编译可执行文件。

6.XDC工作流程:

TI <wbr>XDC工具入门简介

7.使用XDC所需的文件:源码、package.bld、package.xdc、config.bld。同时需要通过shell脚本将DVEVM的安装位置导出为环境变量。

 

 

 

 

1.XDC(Express DSP Component)是TI提供的一个命令行工具,它可以生成并使用实时软件组件包。

  

  

2.以上两图说明了XDC的工作方式:通过相关文件设定操作指令,读入源码、库文件以及已经存在的组件包最终生成可执行文件。

3.Package------XDC工作的基本单元。包括有:源码、库文件以及元数据;元数据这包含有该包的版本信息和依赖信息,以及模块(Module)信息。

4.XDC使用方法:

 

 

5.XDC需要的文件:config.bld  package.bld  package.xdc

Package.xdc -------------描述该包的名称,版本信息,依赖文件,模块信息等

 

Config.bld --------------描述XDC要使用的编译工具的相关信息,如不同CPU所使用的编译工具目录,每种编译工具的编译选项,连接选项等基本信息;

 

Package.bld -------------------描述对于该包需要生成的平台,profile(debug,release)。通过Javascript脚本添加源码到生成执行文件的信息中。

Package.mak-------------------由XDC生成的文件,用于最终编译可执行文件。

6.XDC工作流程:

 

7.使用XDC所需的文件:源码、package.bld、package.xdc、config.bld。同时需要通过shell脚本将DVEVM的安装位置导出为环境变量。

各代码如下:

Config.bld样本代码:

+ expand sourceview plaincopy to clipboardprint?
var MVArm9 = xdc.useModule("gnu.targets.MVArm9");  
MVArm9.rootDir = "/opt/DVS357/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le";  
MVArm9.lnkOpts.suffix = "-lpthread " + MVArm9.lnkOpts.suffix;  
var Linux86=xdc.useModule("gnu.targets.Linux86");  
Linux86.rootDir = "/usr";  
Linux86.lnkOpts.suffix = "-lpthread " + Linux86.lnkOpts.suffix;  
Build.targets = [ Linux86,MVArm9,]; 
var MVArm9 = xdc.useModule("gnu.targets.MVArm9");
MVArm9.rootDir = "/opt/DVS357/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le";
MVArm9.lnkOpts.suffix = "-lpthread " + MVArm9.lnkOpts.suffix;
var Linux86=xdc.useModule("gnu.targets.Linux86");
Linux86.rootDir = "/usr";
Linux86.lnkOpts.suffix = "-lpthread " + Linux86.lnkOpts.suffix;
Build.targets = [ Linux86,MVArm9,];

Runxdc.sh样本代码:

view plaincopy to clipboardprint?
#! /bin/sh  
#  import install paths 
 
#  putting the first period before the shell invokation keeps the changes 
 
#      to environment variables set here. Otherwise, changes to environment 
 
#      are only within the context of the executed script  
 
./setpaths.sh 
#  Define search paths for included packages  
export XDCPATH="$CE_INSTALL_DIR/packages"
#  Define options for execution  
export XDCBUILDCFG=$(pwd)"/config.bld 
 
#  Execute xdc command to make all packages  
 
/opt/DVS357/dvevm_1_20/xdc_2_94/xdc $@ -P * 
#! /bin/sh
#  import install paths

#  putting the first period before the shell invokation keeps the changes

#      to environment variables set here. Otherwise, changes to environment

#      are only within the context of the executed script

./setpaths.sh
#  Define search paths for included packages
export XDCPATH="$CE_INSTALL_DIR/packages"
#  Define options for execution
export XDCBUILDCFG=$(pwd)"/config.bld

#  Execute xdc command to make all packages

/opt/DVS357/dvevm_1_20/xdc_2_94/xdc $@ -P *

Setpaths.sh样本代码:
#!/bin/sh  
 
export DVEVM_INSTALL_DIR="/opt/DVS357/dvevm_1_20/" 
export BIOS_INSTALL_DIR=$DVEVM_INSTALL_DIR/bios_5_31_01  
export CG_INSTALL_DIR=$DVEVM_INSTALL_DIR/cg6x_6_0_14  
export CMEM_INSTALL_DIR=$DVEVM_INSTALL_DIR/cmem_1_02  
export CE_INSTALL_DIR=$DVEVM_INSTALL_DIR/codec_engine_1_10_01  
export CS_INSTALL_DIR=$DVEVM_INSTALL_DIR/codec_servers_1_23  
export DSPLINK_INSTALL_DIR=$DVEVM_INSTALL_DIR/dsplink_1_30_08_02  
export FMWK_INSTALL_DIR=$DVEVM_INSTALL_DIR/framework_components_1_10_04  
export XDAIS_INSTALL_DIR=$DVEVM_INSTALL_DIR/xdais_5_10  
export XDC_INSTALL_DIR=$DVEVM_INSTALL_DIR/xdc_2_94  
 
export PATH=$XDC_INSTALL_DIR:$PATH 
#!/bin/sh

export DVEVM_INSTALL_DIR="/opt/DVS357/dvevm_1_20/"
export BIOS_INSTALL_DIR=$DVEVM_INSTALL_DIR/bios_5_31_01
export CG_INSTALL_DIR=$DVEVM_INSTALL_DIR/cg6x_6_0_14
export CMEM_INSTALL_DIR=$DVEVM_INSTALL_DIR/cmem_1_02
export CE_INSTALL_DIR=$DVEVM_INSTALL_DIR/codec_engine_1_10_01
export CS_INSTALL_DIR=$DVEVM_INSTALL_DIR/codec_servers_1_23
export DSPLINK_INSTALL_DIR=$DVEVM_INSTALL_DIR/dsplink_1_30_08_02
export FMWK_INSTALL_DIR=$DVEVM_INSTALL_DIR/framework_components_1_10_04
export XDAIS_INSTALL_DIR=$DVEVM_INSTALL_DIR/xdais_5_10
export XDC_INSTALL_DIR=$DVEVM_INSTALL_DIR/xdc_2_94

export PATH=$XDC_INSTALL_DIR:$PATH

package.bld样本代码:

+ expand sourceview plaincopy to clipboardprint?
var targs = [MVArm9, Linux86];  
var profiles = ["debug", "release"];  
//  Define the base name for the executable(s) built  
var basename = "app";  
//  The following code uses the java.io.File.list() method to generate an array  
//      of all files in the current directory ('.') and then sorts out .c files  
var sources = java.io.File('.').list();  
var csources = [];  
for (var i = 0; i < sources.length; i++){  
       if(String(sources[i]).match(/.*/.c$/))  
                csources.push(sources[i]);  
}  
 
//  The build phase cycles through the arrays of build targets and profiles  
//       and adds an executable for each combination  
 
for (var i = 0; i < targs.length; i++) {  
     for(var j = 0; j < profiles.length; j++){  
        Pkg.addExecutable( basename + "_" + profiles[j], targs[i],  
targs[i].platform, {  
                     cfgScript: null,  
                     profile: profiles[j],  
                }  
                ).addObjects( csources );  
     }  

var targs = [MVArm9, Linux86];
var profiles = ["debug", "release"];
//  Define the base name for the executable(s) built
var basename = "app";
//  The following code uses the java.io.File.list() method to generate an array
//      of all files in the current directory ('.') and then sorts out .c files
var sources = java.io.File('.').list();
var csources = [];
for (var i = 0; i < sources.length; i++){
       if(String(sources[i]).match(/.*/.c$/))
                csources.push(sources[i]);
}

//  The build phase cycles through the arrays of build targets and profiles
//       and adds an executable for each combination

for (var i = 0; i < targs.length; i++) {
     for(var j = 0; j < profiles.length; j++){
        Pkg.addExecutable( basename + "_" + profiles[j], targs[i],
targs[i].platform, {
                     cfgScript: null,
                     profile: profiles[j],
                }
                ).addObjects( csources );
     }
}
 
PS: 在 VIM中,给新的文件类型添加已知文件类型的语法高亮的方法是------在“/usr/share/vim/vimfiles/after”路径中添加一个文件“filetype.vim”(FC10系统下),在其中添加如下代码:

augroup filetypedetect  
au BufNewFile,BufRead *.bld setf javascript  
augroup END 

 

OMAPL138的DSPLINK开发入门

OMAPL138的双核通信组件DSPLINK开发入门 1   DSPLINK介绍                  DSPLINK的软件架构如下图示:   1.1        GPP端 ...

OV7725+广州创龙OMAPL138开发板调试(从选型到出图像)

最近项目需要做一个精巧的小设备,需要一个体积小巧,功能较强大的cpu核心板。考虑到后期开发过程中可能会遇到比较多的问题,客服给不给力也是一个重要的考虑方面。CPU的选型上,因为后期视频帧率需要达到50...
  • bitrain
  • bitrain
  • 2015年06月01日 12:01
  • 1114

TI XDC工具入门简介

1.XDC(Express DSP Component)是TI提供的一个命令行工具,它可以生成并使用实时软件组件包,它包括一系列工具,这些工具可以允许你将你的C语言代码组织成类似于java的包管理...

TI XDC工具入门简介.docx

  • 2012年04月25日 17:34
  • 248KB
  • 下载

TI XDC工具入门简介

http://csharp.usr.cc/forum.php?mod=viewthread&tid=52028&page=1 1.XDC(Express DSP Component)...

TI XDC介绍

XDC是TI公司为嵌入式实时系统可重用软件组件(在XDC里被成为packages,以下成为包)制定的一套标准。它包括一些有用的工具,标准的API函数,静态配置文件和打包(packaging)操作。XD...
  • ucnioa
  • ucnioa
  • 2014年06月26日 10:59
  • 353

Vivado开发工具熟悉之XDC约束文件

Vivado开发工具的使用之前已经有了比较多的了解,在建立工程图形化界面操作这里已经不存在什么问题,不论是IP核,embedded system(block design),还是添加约束,编译流程,流...

使用XDC工具创建基于Codec Engine的dm6446双核工程

这两天对TI的Codec Engine框架进行了进一步的学习,这里总结一下通过XDC工具创建基于Codec Engine的双核(ARM+DSP)工程的建立和生成可执行文件的过程。如有不对的地方,请不吝...
  • yuyin86
  • yuyin86
  • 2011年01月24日 16:01
  • 1005

使用XDC工具创建基于Codec Engine的dm6446双核工程

这两天对TI的Codec Engine框架进行了进一步的学习,这里总结一下通过XDC工具创建基于Codec Engine的双核(ARM+DSP)工程的建立和生成可执行文件的过程。如有不对的地方,请不吝...

【无线安全实践入门】常见攻击手段与常用攻击工具简介

【无线安全实践入门】基础攻击手段与常用工具简介 1.网络扫描 2.破解wifi密码 3.针对漏洞的攻击手段 4.泛洪攻击 5.DoS攻击 6.Cookie窃取 7.Session劫持 8.1.SSH攻...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TI XDC工具入门简介
举报原因:
原因补充:

(最多只允许输入30个字)