首页 » 技术分享 » davinc架构--环境搭建篇 【转】

davinc架构--环境搭建篇 【转】

 

硬件环境就不用说,肯定拥有就是支持davinci架构的芯片的开发板,我用的devkit8000,官网把它叫做DVEVM,我开始一直把她当成也是软件,所以到网上一直搜都没搜到,郁闷不以,后来才发现就是开发板,看来这个就是英文理解问题啊。

软件环境,就是一些程序:

因为davinci架构下的软件最好在linux编译,所以肯定要有linux环境,这个是最大的软件。

我使用的是ubuntu9.04,非虚拟机形式,如果不太熟悉linux的,可以用虚拟机安装linux,这样可以和window切换,比较方便,如何安装linux我就不讲了,大家到网上搜就可以,装完linux,就装真正的软件。

它要包含那些程序呢:

1.dvsdk_setuplinux_3_00_02_44.bin<?XML:NAMESPACE PREFIX = O />

这个是核心,算法,VISA,驱动,也就是整个davinci架构的代码都在这里了。

dvsdk_setuplinux_3_00_02_44.bin安装后会生成很多文件夹:

jerry@jerry-laptop:~$ ls /home/jerry/dvsdk_3_00_01_42/

bin                      dvtb_3_00_016

examples                 biosutils_1_01_00    

   framework_components_2_24c64xplus_mp3dec_1_31_001

ceutils_1.06             linuxlibs

linuxutils_2_24_02        kernel_binaries

cg_xml_v2_12_00          local_power_manager_1_24

clips                    Makefile

codec_engine_2_24        Rules.make

dmai_2_00_01_04          targetfs

docs                     uninstall

dsplink_1_61_03           xdais_6_24

dvsdk_demos_3_00_00_12

其中codec_engine_2_24是最重要的,我们要开发,最好以这个为基础,这里面有一些库,同时一些事例。

2.xdctools_setuplinux_3_15_01_59.bin

     //这个是我们编译davinci软件要用的工具。

3.Dsp/bios

  dsp端运行的操作系统,因为在dsp运行的算法其实就是一个线程,要有操作系统才能真正跑起来。

   4.TI-C6x-CGT-v6.0.16.1.bin

   //这个是dsp的交叉编译链,即在linux下生成可以在c6系列dsp上运行的程序。

上面的软件都可以在

http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_00/latest/index_FDS.html下载。

5.arm交叉编译链crossTool.

这个我用的是4.3.2版本,好像官网推荐是arm2008-q1.

可以在http://www.codesourcery.com/sgpp/lite/arm/portal/release830下载。

对于是omap3530最好也要下:

cs1omap3530_setuplinux_1_00_01-44.bin

这个是一些复杂算法及server。

因为当我们要使用dvsdk_demos编译复杂应用程序时,要用到这里的(server)cs.x64p

当然你还可以下文件系统等等,但是这些都不是必须的。

上面的软件都是直接执行就可以了。

安装以后我们就可以编译了:

配置:

编译前要修改一些配置文件,两个:

1.dvsdk根目录下的Rule.mk

将其中的一些变量路径修改即可,比如

DVSDK_INSTALL_DIR=${HOME}/dvsdk_3_00_01_42

2.更改code_engine/examples/xdcpath.mk

这个也是,要将各种路径设置对。

编译:

  进入

:~$cd /home/jerry/dvsdk_3_00_01_42/codec_engine_2_24/examples

/ti/sdo/ce/examples/

jerry@jerry-laptop:~/dvsdk_3_00_01_42/codec_engine_2_24/examples/ti/sdo/ce/examples$ ls

appsbuildutilscodecsextensionsservers

大家可以看到主要的关键的三个目录,apps,codecs,servers,分别放着应用程序代码,算法代码,算法服务器代码。

1因为apps也要用到server,故现编译一个servers,我们选择all_codecs

    cd servers/all_codecs

然后执行

make clean

        make

    即可

   如果出错,多数是前面配置Rule.mk,和xdcpaht.mk出错了,可以根据错误提示更改过来即可。

    编译完后会在bin/ti_platform_xx/下生成来两个.x64p程序。

     all_pm.x64Pall.x64P

2.编译应用app

  cd apps/video_copy

   make clean

    make

如果没出错,则在bin/ti_platform_xx/下生成来多个.x64p,及.x5vt程序。

app_local.x64P  app_local.xv5T  app_remote.xv5T

app_local.x64p是应用和算法都在dsp端的程序

app_local.xv5t是应用和算法都在arm端的程序

app_remote.xv5T是应用在arm端,算法在dsp端的程序,这个程序就是上面的all.x64P

然后我们执行:

      要执行,肯定要把程序拷贝到开发板上。

    将上面的程序都拷贝到开发板上,然后将dsplinkko.ko,cmem.ko,lpm.ko等驱动也拷贝到开发板,同时写一个加载驱动的脚本loadmodule.sh。

脚本文件内容如下:

#insert cmem driver

Insmodcmemk.kophys_start=0x85800000phys_end=0x86000000 pools=20x4096,10x131072,2x1048576

# insert DSP/BIOS Link driver

insmod dsplinkk.ko

# make /dev/dsplink

rm -f /dev/dsplink

mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0

# insert Local Power Manager driver

insmod lpm_omap3530.ko

rm -f /dev/lpm0

mknod /dev/lpm0 c `awk "/lpm/ {print \\$1}" /proc/devices` 0

然后执行这个脚本./loadmodule.sh

执行上面的脚本很有可能会出错,这是驱动版本和内核版本不匹配问题

只需重新编译驱动即可,这个会在下面章节讲解。

如果没有问题,然后就可以执行应用程序了。

./app_remote.xv5t.

转载自原文链接, 如需删除请联系管理员。

原文链接:davinc架构--环境搭建篇 【转】,转载请注明来源!

0