DM6467T开发板领航——DVSDK3.10介绍及双核通信

DM6467T开发板的核DVSDK3.10介绍及双通信

DM6467T开发板领航——DVSDK3.10介绍及双核通信

时间:2013-08-07   点击:1127

 

DM6467T开发板领航——DVSDK3.10介绍及双核通信

经过前几篇文章的介绍,您的系统已经构建成功了,接下来就要开发自己的应用程序了。开发应用程序一个就是根据TI的结构来建立工程。一个很重要的就是DSP和ARM的双核通信。下面我一一介绍。

DVSDK总体介绍:

我们看一下DVSDK下面有哪些内容,查看一下:

root@ubuntu:/home/dm6467t/dvsdk_3_10_00_19# ls

bin                                  dvtb_4_20_10

bios_5_41_00_06                      edma3_lld_01_11_00_03

biosutils_1_02_02                    examples

C6000CGT7.4.2                        examples-r37

cg_xml                               framework_components_2_25_02_06

codec_engine_2_25_05_16              kernel_binaries

cs2dm6467_1_00_00_10                 linux_dvsdk_3_10_manifest.pdf

dm355_codecs_03_10_00_02             linuxlibs-2009.11-armv5te

dm365_codecs_03_10_00_07             linuxutils_2_25_04_10

dm365mm_01_00_03                     Makefile

dmai_2_10_00_12                      mapdmaq

docs                                 mapdmaq-hd

dsplink_linux_1_64                   Rules.make

DVSDK_3_10_00_19_release_notes.html  uninstall

DVSDK_3_10_00_19_release_notes.pdf   xdais_6_25_02_11

dvsdk_demos_3_10_00_16               xdctools_3_16_01_27

root@ubuntu:/home/dm6467t/dvsdk_3_10_00_19#

 

先做一个简单的介绍

 

Bin:没有什么内容,不用关注

bios_5_41_00_06:BIOS的内容,不用关注

biosutils_1_02_02:BIOS的内容,不用关注。BIOS是TI的实时操作系统,想关注的朋友建议看CCS。

C6000CGT7.4.2:DSP编译器,在linux下编译,在DSP上运行,也不用关注。

cg_xml:一些工具,你用不上的。

codec_engine_2_25_05_16:双核通信的机制,你如果做DSP与ARM通信,你需要详细研读和理解。

cs2dm6467_1_00_00_10:双核通信的机制,写出了一些实用算法的集成例子,建议你详细研读。

dm355_codecs_03_10_00_02:看名字就知道,不用管了(DM355的,我们用的是DM6467T)。

dm365_codecs_03_10_00_07:看名字就知道,不用管了。

dm365mm_01_00_03:看名字就知道,不用管了。

dmai_2_10_00_12:你做应用开发,这个需要你做详细的研读。这个模块写了很多有用的例子,包括获取图像,音视频压缩,及其它的一些实用的例子及模块。

Docs:没有什么内容

dsplink_linux_1_64:这个是DSPLINK的内空,会编译就行了,不用关注。

DVSDK_3_10_00_19_release_notes.html:文档,可以看一下

DVSDK_3_10_00_19_release_notes.pdf:文档,可以看一下

dvsdk_demos_3_10_00_16:TI提供的编码,解码,视频输入输出的例子,很值得一看,建议详读、理解。

dvtb_4_20_10:不用关注

edma3_lld_01_11_00_03:DMA的东西,可以看看。

examples:CGI例子,没有什么用。

examples-r37:一些例子,可以不用关注

framework_components_2_25_02_06:主要是DSP和DMA相关的东西,做算法优化的看可以看看。

kernel_binaries:编译的两个KO文件在这里,cmemk.ko,dsplinkk.ko,需要用到。

linux_dvsdk_3_10_manifest.pdf:可以看一下

linuxlibs-2009.11-armv5te:不用关注

linuxutils_2_25_04_10:不用关注

Makefile:前面《DM6467T开发领航——环境文件配置》中有详细介绍

mapdmaq:不用关注

mapdmaq-hd:不用关注

Rules.make:前面《DM6467T开发领航——环境文件配置》中有详细介绍

uninstall:不用关注

xdais_6_25_02_11:不用关注

xdctools_3_16_01_27:不用关注

 

经过上面的介绍,你做DVSDK有一个大致的了解了。

 

dvsdk_demos_3_10_00_16:

重点看encode这个代码,包括音视频采集和编码。TI提供的这个DEMOS有个BUG,安装好环境编译不过去。你需要做以下修改:

 

在\home\dm6467t\dvsdk_3_10_00_19\dvsdk_demos_3_10_00_16\dm6467\Makefile文件中:

第一行增加:

export CROSS_COMPILE=bin/arm-none-linux-gnueabi-

否则会找不到编译器报错,没有办法,TI提供的软件就是有这样那样的问题的,不知道他们发行的时候测试过没有。

TI提供的例子是在720P的模式的情况下运行的,我们的开发板支持的是D1输入,我们encode做了修改。

dmai_2_10_00_12

进入到root@ubuntu:/home/dm6467t/dvsdk_3_10_00_19/dmai_2_10_00_12/packages/ti/sdo/dmai#

这个目录。

Apps中是应用程序的例子,当要使用TI的资源不知道怎么用时,可以查看里面的例子,非常有用。

在DEMOS中调用的函数很多在linux下,你也要仔细查看,如果你能理解,最好你的应用程序抛开dami中函数,让你的应用程序直接访问内核,少了这个dmai,你会发现你和应用程序稳定的多。以前就发现TI提供的这个dmai中的管道就不够稳定,用几天就莫名的出问题。我自己做产品时基本不怎么使用dmai的这一套东西。当然先期使用的话,可以明显加快你的研发速度。

 

 

codec_engine_2_25_05_16

这个里面主要包括三个方面的内容,codec、server、app

每一个算法可以做成一个CODEC,

把所有的算法集成在一个server中

APP是介绍算法的调用。

在DVSDK目录下执行:

root@ubuntu:/home/dm6467t/dvsdk_3_10_00_19# make codecs

就可以完成对这个目录的编译。

你可以把\home\dm6467t\dvsdk_3_10_00_19\cs2dm6467_1_00_00_10\packages\ti\sdo\codecs

中的算法Copy到\home\dm6467t\dvsdk_3_10_00_19\codec_engine_2_25_05_16\examples\ti\sdo\ce\examples\codecs中,当然你需要增加相应的makefile文件,否则会编译不过去的。增加了的算法可以在server中集成。

cs2dm6467_1_00_00_10

 

这个里面主要包括三个方面的内容,codec、server、app

每一个算法可以做成一个CODEC,

把所有的算法集成在一个server中

这个模块中基本上包括了所有应用需要的TI提供的算法,你自己的算法可以在codec中类似的写一个模块,在server中集成。很方便。