CCS从3.3改版为5.X之后,CCS 变化很大.DaVinci芯片中DSP的调试步骤也不同了.这里介绍下在CCS里如何调试DaVinci的DSP核心

1. 创建CCS V5版本的project

本人使用的CCS版本是Version:5.4.0.00091,调试器是SEED的SEED-XDS560PLUS.这里调试的是DM6467中的C64X核,用来检验算法的正确性.

1.1 创建一个project

在菜单栏中点击 File -> New -> CCSProject.

在Project name中输入项目名称 "emcv_test". Output type中选择 Executable, project会编译一个.out文件,在C64x中运行.Family中选择C6000系列,DaVinci DM646x.运行时库选择rts64plus.lib

在Project templates and examples中选择 Empty Project(with main.c). 最后点击 Finish.

这样,一个最简单的DSP工程就建立出来了.

接下来参考"移植EMCV到DM6467"文章,我来添加源文件.直接将emcv的cv和cxcore两个目录复制到我们上面创建的emcv_test工程目录里即可.如下:

这样刷新CCS工程就会看到

将emcv的cv和cxcore目录包含进工程

剩下的步骤不详细列出,因为"移植EMCV到DM6467"文中都会讲到.最后我们的emcv_test工程如下:

1.2 编译project

在project上右键单击选择Build Project选项,这里编译出错

本着一颗虔诚的心,我又锲而不舍的找到了这个函数的定义处

果然,有八个参数,可是我们main函数里调用这个函数的时候只给了7个参数,这符合C++语法,但是不符合C语言语法.那么这个问题可以有两种解决方式.

方法一:将main函数中的调用

cvRectangle(img, point1, point2, color, CV_AA, );

改为

cvRectangle(img, point1, point2, color, CV_AA, , );

方法二:将源文件main.c改为C++类型,即改为main.cpp即可

CCS支持C++类型,因此一般的工程修改这两种方法都可以,但是我后期要做的是DVSDK上的DSP算法移植,大概流程为:使用CCS插件 -> 生成代码框架 -->  修改算法接口 -->  填充完善算法框架 -->  (适当优化、测试,处理) --> 放在Linux下的DVSDK中 -->  配置XDC环境 -->  编译CODEC -->  编译CODEC SERVER --> 编译APP

可能在Linux的DVSDK编译中会对C++的支持不好,所以建议最好选择同意将C++类型的语句都用C语言语法形式来实现.

编译.最后会生成一个.out文件.这个文件运行在C64x核上.

2. 调试程序

这一章主要介绍如何创建target configuration以及在CCS5中如何进行调试C64x

2.1 添加gel,设置JTAG调试器

2.2 启动debugger

启动configuration配置.在菜单中点击view->Target Configurations.

右键单击目标target选择Launch Selected Configuration.

之后debugger就会被启动了.右键单击master核即ARM926核然后选择Connect Target

我们看到console上打印出来的其实就是之前我们加载的ARM端的gel文件的内容

ARM926核心连接好以后,选中A8核心,点击菜单栏中的Scripts -> DaVinci HD1080P DSP -> DSP_Boot_from_DDR2,加载slave核即C64x核的GEL文件

右键单击C64x核然后选择Connect Target

这样,C64x核心连接到调试器,可以下一步的调试了

2.3 加载程序

步骤如下:点击菜单run -> Load-> Load Program.选中生成的.out文件,点击OK, 程序加载完成

到这里,就可以像VS2008那样跟踪调试代码了

CCS5连接调试C64X系列DSP核的更多相关文章

  1. 【转】TI-Davinci开发系列之六CCS5.2调试Linux内核

    上转博文<TI-Davinci开发系列之五CCS5.2使用gdbserver远程调试应用程序> 使用CCS5.2远程调试内核时,只需导入Linux内核源码,而不需要编译内核,也就不会用到交 ...

  2. TMS320C54x系列DSP的CPU与外设——第1章 绪论

    第1章 绪论 TMS320C54x DSP是TMS320系列DSP产品中的定点数字信号处理器.C54x DSP满足了实时嵌入式应用的一些要求,例如通信方面的应用. C54x的中央处理单元(CPU)具有 ...

  3. OMAP4之DSP核(Tesla)软件开发学习(四)ARM核与DSP核通讯示例

    首先,安卓系统完全启动4AJ.2.1. 其次,查看OMAP4的Tesla相关信息,检查Tesla是否使能.(有如下显示,则OK) cat /d/emoteproc/omap-rproc.0/versi ...

  4. OMAP4之DSP核(Tesla)软件开发学习(三)使能DSP核

    目标: 1.编译或直接获取DSP映像tesla-dsp.bin. 2.boot并使能DSP核(这个可以看启动打印或者进入/d/remoteproc/omap-rproc.0/参看dsp调试信息).   ...

  5. OMAP4之DSP核(Tesla)软件开发学习(一)

    目的:       目前手上正在OMAP4上做东西,由于涉及到大量运算,交给arm A9双核发现运算速度很慢,不能满足需求.故考虑将大量运算任务(比如FIR.FFT.卷积.图像处理.向量运算等)交给O ...

  6. Baidu 人脸识别FireFly 与PC连接调试

    1.USB线插到离屏幕较远的双层USB口上方.2.安装驱动,OK.,然后就可以直接拷贝安装包或者连接调试了. 其它几个口都不行.

  7. 【转】WinDbg调试器:启动程序时自动连接调试器方法

    当我们调试服务进程或子进程时,无法直接用调试加载进程的方式启动,此时需要在启动程序时自动连接调试器方法: 第一步:注册表展开到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft ...

  8. 【DSP开发】C6000非多核非KeyStone系列DSP中断系统

    C6000系列DSP的中断系统 上一篇介绍了C6455的GPIO系统,最后把GPIO4配置成了中断/事件模式,本文将介绍C6455的中断系统,介绍完基本概念后,给出把GPIO4映射到INT4的代码. ...

  9. TMS320C54x系列DSP指令和编程指南——第1章 汇编语言工具概述

    第1章 汇编语言工具概述 TMS320C54x DSP的汇编语言开发工具包括: ■  Assembler      ■  Archiver      ■  Linker      ■  Absolut ...

随机推荐

  1. PageViewController和UIPageControl

    以前经常把这两个东西当成一回事, PageViewController像电子书那样,一页之中可以放几个childViewcontroller,  然后左右翻,当前frame显示几个viewcontro ...

  2. nginx 使用ctx实现数据共享,修改上下文

    环境: init_worker_by_lua, set_by_lua, rewrite_by_lua, access_by_lua, content_by_lua, header_filter_by_ ...

  3. Bootstrap组件福利篇:十二款好用的组件推荐

    阅读目录 一.时间组件 1.效果展示 2.源码说明 3.代码示例 二.自增器组件 1.效果展示 2.源码说明 3.代码示例 三.加载效果 一.实用型 二.炫酷型 四.流程图小插件 1.效果展示 2.源 ...

  4. Youtube 视频下载

    Youtube 视频下载 由于特殊原因,需要下载 Youtube 的视频. https://www.clipconverter.cc/

  5. git还原某个特定的文件到之前的版本

    场景: 对于某个git控制下的文件进行了修改,但是改的不满意,想退回到改之前的版本.假定该文件为 src/main/main.c 解决方法: 第一步: 在命令行中输入 git log src/main ...

  6. 在Google的GKE上创建支持Internal Load Balancer的Service

    在Google的Kubernetes Engine上发布service,可以采用除On-Promise相同的Cluster IP和NodePort两种方式外,还可以创建LoadBalaner的Serv ...

  7. Ubuntu 16.04配置OpenGL教程

    sudo apt-get install build-essential sudo apt-get install libgl1-mesa-dev sudo apt-get install libgl ...

  8. (转)SQL server 2005查询数据库表的数量和表的数据量

    本文转载自:http://hi.baidu.com/ajyajyajy/item/4e2a7f4dc83393d2c1a592c1 use DBNAMEgoselect * from sysobjec ...

  9. bc显示小数点前的0

    bc是强大而常用的计算工具.不过在除法运算时,如果得到的结果值小于1,得到的小数前面的0不存.本篇提供几个常用小数点前缺0的解决方法. [root@maqing ~]# bc bc Copyright ...

  10. struts2学习(6)自定义拦截器-登录验证拦截器

    需求:对登录进行验证,用户名cy 密码123456才能登录进去:  登录进去后,将用户存在session中: 其他链接要来访问(除了登录链接),首先验证是否登录,对这个进行拦截: com.cy.mod ...