现在的位置: 首页 > 综合 > 正文

Davinci调试环境的搭建(三)

2013年01月07日 ⁄ 综合 ⁄ 共 8409字 ⁄ 字号 评论关闭

 

2009-08-28 21:12 2073人阅读 评论(5)
收藏
举报

 

                       Davinci调试环境的搭建(三)

 

五、安装DSP程序的编译环境

TI公司提供了高效的C编译器和集成开发环境Code Composer Studio ,可以方便的编译调试DSP程序,同时CCS的帮助文档也是十分全面。

1、安装CCS3.3

这部分安装比较简单,详细指导参见TI公司的CCS安装指南,可分成两部分:

1,解压并安装Code_Composer_Studio_v3.3_Build_3.3.38.2.zip

一般使用默认的配置即可,但是要注意在选择仿真芯片类型时,必须同时选上C6000、OMAP,以及TMS470系列,这是由于需要同时支持DSP与ARM的仿真运行。

2,运行CCS_v3.3_SR5_3.3.54.1.exe,采用默认的配置即可。

 

2、安装TDS560USB驱动

安装TDS560USB驱动与ccs设置都需要仔细操作,一步操作错误就会导致最后使用不起来。

 

(1)安装TDS560USB驱动时注意事项

请注意正确连接14针的JTAG电缆,该电缆接错可能会导致仿真器或目标系统永久损坏;仿真器14孔插头的第六孔已经封闭,目标系统JTAG 14针插针的第六针应该拔掉。如果不能确定接插件的连接方向,请与您的经销商联系或查询我们的网站中的相关信息。

 

 

为发挥TDS560USB 仿真器的性能,主机应具备USB2.0接口。如果没有USB2.0的接口,最好使用PCI-USB2.0 or PCMCIA-USB2.0转接卡。

 

请不要带电拔插JTAG电缆。

 

在移动和搬运TDS560USB系统时,请注意TDS560 POD上的线缆不能负重,否则内部电缆容易损坏。

 

2)USB设备驱动程序安装

将TDS560USB仿真器与目标板连接、计算机相连。

 

然后将电源与TDS560USB仿真器相连,此时POWER灯亮,READY闪烁。

 

按照Windows 的“发现新硬件”提示指定 WintechDigital TDS560USB设备驱动程序所在的目录。在产品安装光盘的drivers目录下 (Win98/SE 是在 drivers/win98_me, Win2000/XP是drivers/win2k_xp )。

设备驱动安装完成后,Windows将在设备列表中列出TDS560USB Emulator for Windows 98 或TDS560USB Emulator for Windows 2000/XP/2003。

 

注:

 

如果找不到这个设备,请检查硬件的连接是否正确。

 

如果误把TDS560USB Emulator for Windows 98驱动程序安装到Windows 2000/XP/2003系统中,请在设备管理器中对该设备使用“更新驱动程序”功能。

 

 

3)安装TDS560USB仿真器工具软件

在安装TDS560USB仿真器工具软件之前,请确认CCS已经安装,否则仿真器无法工作。运行产品安装光盘根目录下的Setup.exe。 根据您的需要选择DSP类型,再选定相应的CCS目录。我们是选上了C6000,OMAP,Others DSPs。

 

软件安装完成后,可以在桌面上看到 “WintechDigital ” 快捷方式图标,同时在CCS目录下建立“TDS560USB”目录。

如果需要更换CCS,请重新运行Setup.exe卸载TDS560USB仿真器工具软件,并再次运行Setup.exe,选定新的DSP及新的CCS路径。

3、进行CCS setup

在DAVINCI 板卡上使用TDS560USB仿真器时进行CCS Setup 设置的步骤如下:

首先要注意:

CCS的版本需要是3.2版本或更高版本;

设置前必须已经运行过TDS560USB 仿真器光盘所附带的支持工具setup.exe 。

 

1CCS Setup启动后,选择”Create Board”,双击WintechDigital TDS560USB Emulator.

2. 设置连接名称:TDS560USB Davinci

3. 不用作任何改动,直接完成。

4.选择TDS560USB Davinci ,并在中栏双击或拖ICEPICK_C到左栏中

5.在弹出窗口中设置CPU的个数为2

6.点击next 跳过。

7.设置Subpath name 和端口号,名字随便取,但是端口号ARM必须为16,DSP18

8.以上步骤完成后,选择左栏的ARM9

9.在中间栏拖ARM9 CPU到左栏中,扫描链中的ARM9处理器。

10.设置ARM9处理器的GEL 文件

此处需要选中随板提供的 DaVinciEVM_arm.gel 文件

11.开始设置DSPC64+,在左栏中选中/dSPC64,然后把中间栏的C6400PLUS拖到左栏的DSPC64

12.设置C64PLUS处理器的GEL文件。

此处需要选中随板提供的 DaVinciEVM_dsp.gel 文件

13.到此,设置工作完成,存储并退出CCS Setup

 

4、运行CCS

以上步骤完成后,先断开仿真器电源,将TDS560USB POD上的JTAG电缆与目标板JTAG接口相连,然后打开目标板电源,接通仿真器电源,运行CCS。观察两个指示灯,如果READY灯和BUSY灯轮流闪烁,表示TDS560USB正常工作,否则请断开TDS560USB仿真器的电源,拔下USB线缆,重新检查前面的硬件连接和软件安装、设置是否正确。

 

CCS及驱动都安装完成之后,在CCS运行前,最好先运行一下 “桌面 /wintechdigital/ RESET TDS560USB”,如果复位正常,则运行CCS进行实时仿真,如果不能正常复位,请拔下仿真器电源和USB电缆,重新连接硬件,并检查硬件连接和软件安装是否正确。

 

六、程序编译

    Davinci的程序分DSP程序及ARM程序,DSP程序我们在CCS中编辑和编译,ARM程序在Source Insight中编辑,在Linux中的dvsdk1.3工具链下编译。

 

下面以视频编解码V1.2版本的编译为例,来说明调试程序操作步骤。

 

V1.2版本中有5部分,分别是:

 

解码算法              :    VidDec_lib

编码算法              :    VidEnc_lib

编译x64P环境       :    video_copy

ARM运行程序      :    videoloop

运行目录              :    loop

 

VidDec_lib 与VidEnc_lib目录推荐放在CCS安装路径下的MyProjects目录下,我的存放路径为:C:/CCStudio_v3.3/MyProjects 。

video_copy、videoloop与loop目录都存放在Linux服务器下,loop目录必须存放在NFS所共享的、Davinci板卡可以访问的根文件系统内,而video_copy与videoloop目录没有存放路径的限制,推荐将这两个目录存放在同一路径下。

1、在Windows上编译DSP端运行库

由于只是编译,并不需要仿真器的参与,以下CCS编译时仿真器都不是必须的。在调试的过程中,才会需要用到仿真器。

启动CCS,在CCS中分别编译视频解码工程VidDec_lib及视频编码工程VidEnc_lib,得到所生成的库文件VidDec_lib.lib及VidEnc_lib.lib。

2、在Linux中编译DSP可执行程序

将在CCS中编译的VidDec_lib.lib改名复制为

video_copy/codecs/viddec_copy/lib/viddec_copy.a64P ,

将在CCS中编译的VidEnc_lib.lib复制为

video_copy/codecs/videnc_copy/lib/videnc_copy.a64P。

也可以使用VidDec_lib.lib及VidEnc_lib.lib同目录下的批处理文件copylib.bat来实现以上两次改名复制。

 

在linux环境下的video_copy/servers/video_copy目录下先执行

       make clean

然后执行

make

生成DSP端的可执行文件video_copy.x64P;并且将video_copy.x64P拷贝至运行目录loop中。以上的video_copy.x64P生成并拷贝至运行目录可以使用同目录下的mkall脚本执行文件来实现。(脚本是为了简化调试步骤而使用的,大家自己写出就是了)

 

3、在Linux中编译ARM可执行程序

在linux环境下进入videoloop工程,运行make,生成ARM端可执行程序videoloop,将videoloop拷贝至运行目录loop中。

这一步的make及拷贝也可以使用同目录下的mkall脚本文件来执行。

4、启动板卡,执行程序

启动板卡,使用root登录,然后进入运行目录loop中。首先运行装载模块程序loadmodules.sh,然后运行ARM端可执行程序videoloop。在运行过程中,videoloop会根据需要调用DSP端的视频解码算法程序及视频编码算法程序。

 

以上的2、3、4步使用mkall脚本文件需要注意:

       IP地址与路径必须与实际情况匹配,特别是在程序版本升级及Linux服务器更换时。

编译x64P时,注意要先 make clean 。

 

 

分享到:
查看评论
5楼 lintax 2011-05-22 12:12发表[回复]
[引用] [举报]
to baoxiehao:
CCS可以创建codec工程,编译出库文件。但是server工程只能在linux的dvsdk环境中实现,因为其中有与ARM交互的过程。
4楼 lintax 2011-05-22 12:07发表[回复]
[引用] [举报]
to damner1:
CCS下生成a64P和Linux下生成a64P没有什么不同,但是要注意ccs下的编译工具与dvsdk下的工具版本匹配。
提示诸如xdc/std.h的头找不到,那么就在dvsdk下找到这样的文件,copy到ccs的工程目录下即可。
3楼 damner1 2011-04-10 15:53发表[回复]
[引用] [举报]
其实我知道这样在欠妥,但videnc_copy.c就是符合xDM标准的啊,望前辈能详述一下CCS生成符合xDM的lib的过程。邮箱damner@126.com。谢谢
2楼 damner1 2011-04-10 15:51发表[回复]
[引用] [举报]
请问CCS下生成a64P和Linux下生成a64P有什么不同?我把CE的videnc_copy的videnc_copy.c直接作为我CCS的lib工程的源码,编译出错,提示诸如xdc/std.h的头找不到
1楼 baoxiehao 2010-11-30 11:12发表[回复]
[引用] [举报]
请问CCS可以创建codec和server的工程吗,就是说Linux下的dvsdk中codec server的例子能否在Windows下的CCS环境中进行构建?邮箱:baoxiehao@yahoo.com.cn。谢谢啊~~
 

发表评论
  • 用 户 名:
  • woxincd

 

                       Davinci调试环境的搭建(三)

 

五、安装DSP程序的编译环境

TI公司提供了高效的C编译器和集成开发环境Code Composer Studio ,可以方便的编译调试DSP程序,同时CCS的帮助文档也是十分全面。

1、安装CCS3.3

这部分安装比较简单,详细指导参见TI公司的CCS安装指南,可分成两部分:

1,解压并安装Code_Composer_Studio_v3.3_Build_3.3.38.2.zip

一般使用默认的配置即可,但是要注意在选择仿真芯片类型时,必须同时选上C6000、OMAP,以及TMS470系列,这是由于需要同时支持DSP与ARM的仿真运行。

2,运行CCS_v3.3_SR5_3.3.54.1.exe,采用默认的配置即可。

 

2、安装TDS560USB驱动

安装TDS560USB驱动与ccs设置都需要仔细操作,一步操作错误就会导致最后使用不起来。

 

(1)安装TDS560USB驱动时注意事项

请注意正确连接14针的JTAG电缆,该电缆接错可能会导致仿真器或目标系统永久损坏;仿真器14孔插头的第六孔已经封闭,目标系统JTAG 14针插针的第六针应该拔掉。如果不能确定接插件的连接方向,请与您的经销商联系或查询我们的网站中的相关信息。

 

 

为发挥TDS560USB 仿真器的性能,主机应具备USB2.0接口。如果没有USB2.0的接口,最好使用PCI-USB2.0 or PCMCIA-USB2.0转接卡。

 

请不要带电拔插JTAG电缆。

 

在移动和搬运TDS560USB系统时,请注意TDS560 POD上的线缆不能负重,否则内部电缆容易损坏。

 

2)USB设备驱动程序安装

将TDS560USB仿真器与目标板连接、计算机相连。

 

然后将电源与TDS560USB仿真器相连,此时POWER灯亮,READY闪烁。

 

按照Windows 的“发现新硬件”提示指定 WintechDigital TDS560USB设备驱动程序所在的目录。在产品安装光盘的drivers目录下 (Win98/SE 是在 drivers/win98_me, Win2000/XP是drivers/win2k_xp )。

设备驱动安装完成后,Windows将在设备列表中列出TDS560USB Emulator for Windows 98 或TDS560USB Emulator for Windows 2000/XP/2003。

 

注:

 

如果找不到这个设备,请检查硬件的连接是否正确。

 

如果误把TDS560USB Emulator for Windows 98驱动程序安装到Windows 2000/XP/2003系统中,请在设备管理器中对该设备使用“更新驱动程序”功能。

 

 

3)安装TDS560USB仿真器工具软件

在安装TDS560USB仿真器工具软件之前,请确认CCS已经安装,否则仿真器无法工作。运行产品安装光盘根目录下的Setup.exe。 根据您的需要选择DSP类型,再选定相应的CCS目录。我们是选上了C6000,OMAP,Others DSPs。

 

软件安装完成后,可以在桌面上看到 “WintechDigital ” 快捷方式图标,同时在CCS目录下建立“TDS560USB”目录。

如果需要更换CCS,请重新运行Setup.exe卸载TDS560USB仿真器工具软件,并再次运行Setup.exe,选定新的DSP及新的CCS路径。

3、进行CCS setup

在DAVINCI 板卡上使用TDS560USB仿真器时进行CCS Setup 设置的步骤如下:

首先要注意:

CCS的版本需要是3.2版本或更高版本;

设置前必须已经运行过TDS560USB 仿真器光盘所附带的支持工具setup.exe 。

 

1CCS Setup启动后,选择”Create Board”,双击WintechDigital TDS560USB Emulator.

2. 设置连接名称:TDS560USB Davinci

3. 不用作任何改动,直接完成。

4.选择TDS560USB Davinci ,并在中栏双击或拖ICEPICK_C到左栏中

5.在弹出窗口中设置CPU的个数为2

6.点击next 跳过。

7.设置Subpath name 和端口号,名字随便取,但是端口号ARM必须为16,DSP18

8.以上步骤完成后,选择左栏的ARM9

9.在中间栏拖ARM9 CPU到左栏中,扫描链中的ARM9处理器。

10.设置ARM9处理器的GEL 文件

此处需要选中随板提供的 DaVinciEVM_arm.gel 文件

11.开始设置DSPC64+,在左栏中选中/dSPC64,然后把中间栏的C6400PLUS拖到左栏的DSPC64

12.设置C64PLUS处理器的GEL文件。

此处需要选中随板提供的 DaVinciEVM_dsp.gel 文件

13.到此,设置工作完成,存储并退出CCS Setup

 

4、运行CCS

以上步骤完成后,先断开仿真器电源,将TDS560USB POD上的JTAG电缆与目标板JTAG接口相连,然后打开目标板电源,接通仿真器电源,运行CCS。观察两个指示灯,如果READY灯和BUSY灯轮流闪烁,表示TDS560USB正常工作,否则请断开TDS560USB仿真器的电源,拔下USB线缆,重新检查前面的硬件连接和软件安装、设置是否正确。

 

CCS及驱动都安装完成之后,在CCS运行前,最好先运行一下 “桌面 /wintechdigital/ RESET TDS560USB”,如果复位正常,则运行CCS进行实时仿真,如果不能正常复位,请拔下仿真器电源和USB电缆,重新连接硬件,并检查硬件连接和软件安装是否正确。

 

六、程序编译

    Davinci的程序分DSP程序及ARM程序,DSP程序我们在CCS中编辑和编译,ARM程序在Source Insight中编辑,在Linux中的dvsdk1.3工具链下编译。

 

下面以视频编解码V1.2版本的编译为例,来说明调试程序操作步骤。

 

V1.2版本中有5部分,分别是:

 

解码算法              :    VidDec_lib

编码算法              :    VidEnc_lib

编译x64P环境       :    video_copy

ARM运行程序      :    videoloop

运行目录              :    loop

 

VidDec_lib 与VidEnc_lib目录推荐放在CCS安装路径下的MyProjects目录下,我的存放路径为:C:/CCStudio_v3.3/MyProjects 。

video_copy、videoloop与loop目录都存放在Linux服务器下,loop目录必须存放在NFS所共享的、Davinci板卡可以访问的根文件系统内,而video_copy与videoloop目录没有存放路径的限制,推荐将这两个目录存放在同一路径下。

1、在Windows上编译DSP端运行库

由于只是编译,并不需要仿真器的参与,以下CCS编译时仿真器都不是必须的。在调试的过程中,才会需要用到仿真器。

启动CCS,在CCS中分别编译视频解码工程VidDec_lib及视频编码工程VidEnc_lib,得到所生成的库文件VidDec_lib.lib及VidEnc_lib.lib。

2、在Linux中编译DSP可执行程序

将在CCS中编译的VidDec_lib.lib改名复制为

video_copy/codecs/viddec_copy/lib/viddec_copy.a64P ,

将在CCS中编译的VidEnc_lib.lib复制为

video_copy/codecs/videnc_copy/lib/videnc_copy.a64P。

也可以使用VidDec_lib.lib及VidEnc_lib.lib同目录下的批处理文件copylib.bat来实现以上两次改名复制。

 

在linux环境下的video_copy/servers/video_copy目录下先执行

       make clean

然后执行

make

生成DSP端的可执行文件video_copy.x64P;并且将video_copy.x64P拷贝至运行目录loop中。以上的video_copy.x64P生成并拷贝至运行目录可以使用同目录下的mkall脚本执行文件来实现。(脚本是为了简化调试步骤而使用的,大家自己写出就是了)

 

3、在Linux中编译ARM可执行程序

在linux环境下进入videoloop工程,运行make,生成ARM端可执行程序videoloop,将videoloop拷贝至运行目录loop中。

这一步的make及拷贝也可以使用同目录下的mkall脚本文件来执行。

4、启动板卡,执行程序

启动板卡,使用root登录,然后进入运行目录loop中。首先运行装载模块程序loadmodules.sh,然后运行ARM端可执行程序videoloop。在运行过程中,videoloop会根据需要调用DSP端的视频解码算法程序及视频编码算法程序。

 

以上的2、3、4步使用mkall脚本文件需要注意:

       IP地址与路径必须与实际情况匹配,特别是在程序版本升级及Linux服务器更换时。

编译x64P时,注意要先 make clean 。

 

 

抱歉!评论已关闭.