Chinaunix首页 | 论坛 | 博客
  • 博客访问: 45383
  • 博文数量: 4
  • 博客积分: 240
  • 博客等级: 入伍新兵
  • 技术积分: 115
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-03 14:51
文章分类

全部博文(4)

文章存档

2013年(1)

2012年(3)

我的朋友

分类: 嵌入式

2012-03-26 13:33:02

1.创建DSP Server
  对达芬奇的软件来说,DSP Server也叫Codec Server。其中“codec”是一组算法。除算法之外,DSP Server还集成了其他的软件模块(如DSP/BIOS、DSP Link、Codec Engine等)。
  引用文档中的定义:A Codec Server is a binary that integrates codecs, framework components and system code.When the Codec Server is on DSP,it uses DSP/BIOS as the DSP kernel.

  开发的时候可以用TI提供的Codec Engine GenServer Wizard帮助生成DSP Server。
  a.在Codec Engine安装目录下创建Makefile文件。
  b.在Makefile文件添加

点击(此处)折叠或打开

  1. # ======== Makefile.ce.genserver ========
  2. include ../Rules.make
  3. # Set location of xdc executable
  4. XDC = $(XDC_INSTALL_DIR)/xdc
  5. # Note that different releases will require different dependencies
  6. XDCPATH =
  7. $(CODEC_INSTALL_DIR);$(CODEC_INSTALL_DIR)/packages;$(CE_INSTALL_DIR)/packages;$(CE_INSTALL_DIR
  8. )/cetools/packages;$(BIOS_INSTALL_DIR)/packages;$(LINK_INSTALL_DIR)/packages
  9. # Conditionally, you can create verbose build output
  10. XDCOPTIONS=v
  11. export XDCOPTIONS
  12. export XDCPATH
  13. all: .all-packages
  14. .all-packages:
  15. $(XDC_INSTALL_DIR)/xs ti.sdo.ce.wizards.genserver
  c.在终端中输入make启动GenServer Wizard.
  根据向导进行操作,最终得到生成DSP Server所需的文件(如图1)。可能需要根据实际环境简单修改makefile才可以编译生成DSP Server可执行文件.x64P。

    
                     图1

2.文件
  文件(如图1)分为三类:DSP Server源文件,xDC文件,xDC配置文件。
  a.DSP Server源文件:
    main.c : 初始化DSP Server及打开Trace功能。engine_open会把DSP从复位状态释放,DSP Server程序开始运行初始化等等。这个初始化就是DSP Server 
main.c中的CERuntime_init()。除此之外在main.c中还可以打开Codec Engine的trace功能,读取或更改main函数的参数等。
    server.tcf : 定义DSP的memory map、设置DSP的复位/中断向量表并且创建和初始化BIOS程序需要的各种数据对象。在.tcf中我们只能定义编译器默认的 sections。
    link.cmd在link.cmd中定义自己的sections及连接DSP Server所需要的资源。(例如库文件等)

  b.xDC文件:
    package.xdc : 定义DSP Server名,路径,依赖关系等。
    package.bld : 编译DSP Server时的。根据tcf脚本和link.cmd告诉编译器如何编译DSP Server。

  c.xDC配置文件:
    server.cfg : 可做以下三部分的配置:
(a) Codec配置:每一个codec都被包含在各自的线程中; 配置每一个codec线程的属性(线程优先级、堆栈大小和堆栈的memory资源)。具体请参考CE_INSTALL_DIR/xdoc/index.html。
(b) DSKT2配置: 把所有的IALG memory类型结合到可用的DSP memory;定义缺省的scratch组的memory大小。
(c) DMAN3配置:定义DMAN3可以管理的DMA通道号;定义DMAN3可以提供给算法的TCC号。

3.xDC
  达芬奇的软件开发环境中,有一个DSP工程师比较陌生的工具xDC(Express DSP Component)。和gmake类似,xDC根据一套build指令build生成可执行文件。xDC同时也会build依赖文件,并且可以一次 build多个目标对象的可执行文件。xDC的源文件可以是C程序、C++程序、汇编程序和库文件等。

  xDC的调用是通过执行命令 XDC完成的。在此之前需要做以下几步:
a. 在config.bld中定义平台(ARM或DSP),config.bld所在路径由xdcbuildcfg定义;
b. 在package.xdc中定义package,package.xdc在当前路径下;
c. 在package.bld中定义要build的可执行文件和库文件,package.bld在当前路径下;
d. 按照前面的介绍根据自己的应用修改server的.cfg文件。

执行XDC后先产生package.mak,XDC再运行package.mak生成包含可执行文件的package。

参考资料:
《如何搭建达芬奇的DSP SERVER》
作者:德州仪器半导体技术(上海)有限公司 通用DSP 技术应用工程师 崔晶


如有问题请指出,指正!谢谢!
阅读(3156) | 评论(0) | 转发(0) |
0

上一篇:C语言 C99新增关键字

下一篇:RTP/RTCP

给主人留下些什么吧!~~