Davinci调试环境的搭建(三)
2019-07-13 14:59 发布
生成海报
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
。
1 . CCS
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,DSP 为 18 。
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 。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮