搜索
bottom↓
回复: 1

OMAPL138的DVSDK双核开发教程

[复制链接]

出0入0汤圆

发表于 2014-7-15 16:56:37 | 显示全部楼层 |阅读模式
1、DVSDK安装
       本文提供的DVSDK双核开发步骤的开发环境如下:
PC操作系统:Win7-64bit
虚拟机版本:VMwareWorkstation 7.0.0
Ubuntu版本:Ubuntu10.04-32bit
DVSDK版本:DVSDK-4.03
       DVSDK的安装包dvsdk_omapl138-evm_04_03_00_06_setuplinux可以在OMAPL138资料光盘的tools目录下找到,也可以在TI官网下载。下载前需要注册一个TI账号,注册后才能用账号去下载DVSDK和其他文件。
TI官网下载链接:
http://software-dl.ti.com/dsps/d ... test/index_FDS.html
(1)       将DVSDK软件包拷贝到Ubuntu虚拟机中,然后执行如下语句:
Host#    sudo chmod +xdvsdk_omapl138-evm_04_03_00_06_setuplinux
Host#    ./dvsdk_omapl138-evm_04_03_00_06_setuplinux
2、DVSDK配置
(1)       执行以下命令设置DVSDK环境变量,此环境变量指明DVSDK的安装路径,请根据DVSDK实际安装路径修改。
Host#    exportDVSDK="/home/tl/ti-dvsdk_omapl138-evm_04_03_00_06/"
(2)       执行以下命令进行DVSDK编译设置。
Host#    sudo ${DVSDK}/setup.sh
       此命令运行的是DVSDK安装目录下的setup.sh脚本。
(3)       将文件系统安装到默认路径。
(4)       设置tftp路径为默认路径。
(5)       设置u-boot的nfs环境变量参数为虚拟机的默认IP地址。
(6)       设置内存的参数为默认的128MB。
(7)       设置内核加载方式为默认的TFTP。
(8)       设置文件加载方式为默认的NFS。
(9)       配置完成。
3、DVSDK编译
(1)       修改DVSDK顶层目录下Rules.mak文件的58~59行内容为如下。
#LINUXKERNEL_INSTALL_DIR=$(SDK_INSTALL_DIR)/psp/linux-2.6.37-psp03.21.00.04.sdk
LINUXKERNEL_INSTALL_DIR=/home/tl/omapl138/linux-2.6.37//广州创龙OMAPL138开发板适用的linux-2.6.37内核源码路径
       以上操作的作用是将内核源码路径更换为广州创龙开发板适用的linux-2.6.37内核源码路径,务必确保内核源码存在于/home/tl/omapl138/linux-2.6.37目录下。linux-2.6.37源码软件包可以在光盘的Linux目录下找到。
(2)       修改DVSDK顶层目录下Makefile文件的3~5行内容为如下:
#DEFAULT_LINUXKERNEL_CONFIG=da850_omapl138_defconfig
DEFAULT_LINUXKERNEL_CONFIG=da850_omapl138_tl_defconfig
DEFAULT_UBOOT_CONFIG=da850evm_config
       修改此处的作用是指明使用的内核配置文件。
(3)       进入DVSDK顶层目录,并执行如下命令清理DVSDK源码。
Host# make clean
(4)       在DVSDK顶层目录中执行如下命令重新编译DVSDK。
Host#    make all
(5)       在DVSDK顶层目录中执行如下命令安装DVSDK相关组件到文件系统。文件系统的路径是"/home/tl/targetfs",此路径可以通过Rules.mak的相关行修改。
Host#    sudo make install
       此操作会将DVSDK编译生成的dsplinkk.ko、dm365mmap.ko、cmemk.ko等其他组件安装到文件系统。dsplinkk.ko安装在文件系统"/lib/modules/2.6.37/kernel/drivers/dsp"目录下.
       更多应用开发案例请参考DVSDK安装目录中的如下文档:
ti-dvsdk_omapl138-evm_04_03_00_06/docs/OMAPL138_Software_Developers_Guide.pdf
(6)       使用光盘中的linux-2.6.37内核镜像和安装有DVSDK双核组件的文件系统启动开发板。文件系统默认是在虚拟机的/home/tl/targetfs/目录下,如用NFS启动文件系统,请务必将U-Boot中的nfsroot设置为文件系统所在路径/home/tl/targetfs。U-Boot的mem参数设置为"mem=32M@0xc0000000 mem=64M@0xc4000000",这样做是为了给DSP开辟一块32MByte的内存空间,其他参数保持不变。假如使用的是256MByte的DDR2,U-Boot的mem参数设置为"mem=32M@0xc0000000 mem=192M@0xc4000000"。具体设置请参考下图NFS的设置。

4、DVSDK例子演示
       以下演示均使用DVSDK解压出来的文件系统,默认是在虚拟机的/home/tl/targetfs/目录下。

4.1 Matrix Application Launcher GUI演示
       连接LCD触摸屏,开发板上电,在Login处输入root再按回车键进入文件系统,执行以下命令启动MatrixApplication Launcher GUI界面:
Target#        /etc/init.d/matrix-gui-estart
       第一次使用DVSDK解压出来的文件系统,在启动Matrix ApplicationLauncher GUI界面时,需要点击触摸屏进行校准。
       执行以下命令关闭Matrix Application LauncherGUI界面:
Target#        /etc/init.d/matrix-gui-estop

       也可以执行以下命令手动启动触摸屏校准程序:
Target#        ts_calibrate

4.2 DSPLink Examples演示
       在新产生的文件系统中,默认是不会安装dsplinkk.ko、dm365mmap.ko、cmemk.ko这三个驱动,执行以下命令安装此三个驱动程序,以后开机不需要再执行。
Target#        update-modules                              //更新驱动
Target#        modprobe -l                                    //查看是否更新成功
Target#     /etc/init.d/loadmodule-rc start  //载双核通信相关驱动

       执行以下命令进入DSPLink Examples所在目录:
Target#        cd /usr/share/ti/ti-dsplink-examples/

       各个例子的解释请看用户手册的DSPLINK开发入门或者MCSDK开发入门相关章节。在当前目录执行以下命令运行所有的DSPLinkExamples:
Target#        ./ti-dsplink-examples-run.sh

4.3 c6Run Example Applications演示
       C6EZRun是一个免费、开源的开发工具,使用户可以在异构的DSP+ARM处理器上无缝地使用DSP。更多详情请登录以下网址:
       http://processors.wiki.ti.com/index.php/C6Run_Project
      
4.3.1 Setup
       执行以下命令重新加载App所需驱动模块,假如在此之前其他程序没有加载过CMEM、DSPLink、LPM等驱动模块,unloadmodules.sh脚本可以不用执行。
Target#        ./unloadmodules.sh
Target#        ./loadmodules.sh

4.3.2 C6RunApp Examples
       C6RunAppExamples的作用是使用c6runapp工具运行一个DSP程序。
   在当前目录执行以下命令运行一个简单的“hello world”例子:
Target#        ./hello_world_arm             //程序运行在ARM
Target#        ./hello_world_dsp             //程序运行在DSP,将信息返回到ARM打印

       在当前目录执行以下命令运行浮点性能测试例子:
Target#      ./bench_arm
Target#      ./bench_dsp
Target#      ./cfft_arm
Target#     ./cfft_dsp
4.4 C6Accel Apps演示
       C6AccelApp调用了DSP kernel APIs进行定点/浮点计算,执行以下命令运行测试程序:
Target#        ./loadmodules_omapl138_c6accel.sh            //加载相关内核驱动模块

Target#        ./c6accel_app
      所有的测试数据将会保存在benchmarking.txt测试文件中,请输入以下命令查看详细的测试数据:
Target#     cat /usr/share/ti/c6accel-apps/benchmarking.txt
4.5 DMAI Apps 演示
       DMAI全称是Davinci Multimedia ApplicationInterface,DMAI Apps主要演示音视频、图像等多媒体数据处理能力。执行以下命令进入DMAI Apps目录并重新加载相关内核驱动:
Target#      ./etc/init.d/loadmodule-rc restart

4.5.1 Audio
       此例子将AAC文件解码后送往Line out播放,在演示先将耳机接到Line out接口,然后执行以下命令,可以在耳机听到解码后的声音。
Target#        ./audio_decode1_omapl138.x470MV -c aachedec -e decode -i /usr/share/ti/data/sounds/davincieffect.aac -n 1000

       执行以下命令可将AAC文件解码为PCM文件:
Target#        ./audio_decode_io1_omapl138.x470MV -c aachedec -e decode -i /usr/share/ti/data/sounds/davincieffect.aac -n 1000-o output.pcm

4.5.2 Display
       接上LCD显示屏后执行以下命令,可在LCD上观察到变化的竖条测试图案:
Target#        ./video_display_omapl138.x470MV -y 16 -O lcd --display_buffer 2

4.5.2 Video
       执行以下命令可将H.264格式文件30帧解码为YUV格式文件:
Target#        ./video_decode_io2_omapl138.x470MV -c h264dec -e decode -i /usr/share/ti/data/videos/davincieffect_480x272.264-n 30 -o output.yuv

       执行以下命令可将YUV格式文件中分辨率为480x272的30帧图像编码为H.264 BP格式文件。
Target#        ./video_encode_io1_omapl138.x470MV -c h264enc \
-i output.yuv -o output.264 -r 480x272 -n 30

4.5.4 Speech
  执行以下命令将G.711 speech格式文件解码为 PCM格式文件:
Target#        ./speech_decode_io1_omapl138.x470MV -c g711dec -e decode -i /usr/share/ti/data/sounds/davincieffect.g711 -ooutput.pcm

       执行以下命令可将以上生成的PCM格式文件重新编码为G.711 speech格式文件:
Target#       ./speech_encode_io1_omapl138.x470MV -c g711enc -eencode -i output.pcm -o output.g711

4.5.5 Image
       执行以下命令可将JPEG格式文件解码为YUV格式文件:
Target#        ./image_decode_io1_omapl138.x470MV -c jpegdec -e decode  -i /usr/share/ti/data/images/remi003_422i.jpg -ooutput.yuv

       执行以下命令可将上面生成的YUV格式文件重新编码为JPEG格式文件:
Target#       ./image_encode_io1_omapl138.x470MV -c jpegenc -eencode -i output.yuv -o output.jpg -r 720x576 --iColorSpace 3 --oColorSpace 1
       以上参数和YUV文件的配置有关,默认的颜色空间格式是YUV422 ILE。如需了解更多关于此App相关参数请运行以下命令:
Target#        ./image_encode_io1_omapl138.x470MV -h

4.6 Qt/Embedded Examples 演示
       DVSDK的文件系统中提供了很多Qt演示程序,
       执行以下命令会运行一个日历表Qt程序,如需停止请按Ctrl+C。
Target#        ./calendar -qws -geometry 480x240+0+0

4.7  GStreamer Pipelines演示
       GStreamer是一个开源的多媒体框架库。利用它,可以构建一系列的媒体处理模块,包括从简单的ogg播放功能到复杂的音频(混音)和视频(非线性编辑)的处理。
       在进行演示前,请先将LCD显示屏接好,同时将耳机接到Line out接口,然后执行以下命令重新加载相关内核驱动:
Target#        /etc/init.d/loadmodule-rc restart

       可以使用以下命令查看GStreamer已支持的开发包:
Target#        gst-inspect

4.7.1  H.264编解码
       使用GStreamer做H.264编解码测试,命令如下:
Target#      gst-launch videotestsrc num-buffers=1000 ! TIVidenc1 codecName=h264encengineName=codecServer ! filesink location=sample.264 -v         

       然后执行以下命令,可以在LCD上看到竖条测试图像和黑白闪烁图像。
Target#      gst-launch filesrc location=sample.264 ! typefind !TIViddec2 ! queue ! TIC6xColorspace engineName=codecServer ! queue !tidisplaysink2 -v   

4.7.2 MPEG-4编解码
       使用GStreamer做MPEG-4编解码测试,命令如下:
Target#       gst-launch videotestsrc num-buffers=1000 ! TIVidenc1 codecName=mpeg4encengineName=codecServer ! filesink location=sample.m4v -v
       然后执行以下命令,可以在LCD上看到竖条测试图像和黑白闪烁图像。
Target#      gst-launch filesrc location=sample.m4v ! typefind !TIViddec2 ! queue ! TIC6xColorspace engineName=codecServer ! queue !tidisplaysink2 -v

4.7.3 GStreamer 播放H.264视频
       执行以下命令即可使用GStreamer播放H.264视频,可在LCD看到播放效果。
Target#       gst-launch filesrc location=/usr/share/ti/data/videos/davincieffect_480x272.264! typefind ! TIViddec2 ! queue ! TIC6xColorspace engineName=codecServer ! queue! tidisplaysink2 -v


4.7.4 GStreamer 播放MPEG-4视频
       执行以下命令即可使用GStreamer播放MPEG-4视频,可在LCD看到播放效果。
Target#      gst-launch filesrc location=/usr/share/ti/data/videos/davincieffect_480x272.mpeg4
! typefind ! TIViddec2 ! queue !TIC6xColorspace engineName=codecServer ! queue ! tidisplaysink2 -v

4.7.5 GStreamer 播放MPEG-2视频
       执行以下命令即可使用GStreamer播放MPEG-2视频,可在LCD看到播放效果。
Target#      gst-launch filesrclocation=/usr/share/ti/data/videos/davincieffect_480x272.m2v ! TIViddec2codecName=mpeg2dec engineName=codecServer ! queue ! TIC6xColorspace engineName=codecServer! queue ! tidisplaysink2 -v

4.7.6 GStreamer 播放AAC音频
       执行以下命令即可使用GStreamer播放AAC音频,可在耳机上听到播放效果。
Target#     gst-launch filesrc location=/usr/share/ti/data/sounds/davincieffect.aac
num-buffers=100 ! typefind ! TIAuddec1 ! alsasink -v
详细文档请查阅广州创龙使用手册:
http://pan.baidu.com/s/1bnvRJh9?qq-pf-to=pcqq.c2c

       更多应用开发案例请参考DVSDK安装目录中的如下文档:
ti-dvsdk_omapl138-evm_04_03_00_06/docs/OMAPL138_Software_Developers_Guide.pdf

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入17汤圆

发表于 2014-7-15 17:15:03 | 显示全部楼层
OMAPL138用的人很少吧?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 01:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表