(多核DSP快速入门)1.创建简单的多核DSP项目HelloWorld

原创文章

转载请注册来源 http://blog.csdn.net/tostq

教程目录:http://blog.csdn.net/tostq/article/details/51245979

本节我们将运行第一个多核DSP程序,熟悉CCS开发环境,学会使用CCS调试工具,主要内容如下:

(1)新建CCS项目
(2)导入Target 仿真模块
(3)使用调试工具

一、新建CCS项目

选择File/New/CCS Project

二、新建项目对话框
(1)Project name: 指项目名称,这里要注意的项目名称不区分大小写
(2)Output type: 输出类型,Executable指可执行文件(一般为.out格式,可直接下载到DSP内运行),Static Library指静态库(输出格式一般为.lib文件),我们这里的程序需要直接在DSP内运行,所以选择Executable格式
(3)Use default location: 是指项目存放的目录
(4)Device: 确定我们程序需要在什么型号的DSP下运行,如果我们选择的型号是通用型号如Generic C66xx Device,只能进行软仿真,但是如果我们有硬件评估板之类如EVMC6747,此时下面的Connection会高亮,可以选择需要硬件仿真器,如下所示:

(5)Project templates and example: 可以选择项目模板,有空项目也有许多DSP自带例子,这里我们先选择Empty Project
关于项目模板的创建和使用可以参考这个文档: http://processors.wiki.ti.com/index.php/Project_Templates_in_CCS
(6)Advance setting,保持默认就可以了
(7)点击Finish,完成项目创建,之后我们可以在Project Explorer看到工程项目,当前项目中只有一个Includes文件夹,项目名称旁边的[Active - Debug]是指当前项目是工作项目,当Project Explorer有多个项目时,同一时间只能有一个项目是有效的,通过单击项目就能实现切换。 
三、新建与添加文件
(1)新建文件helloworld.c,选择当前项目,右键单击,选择/New/File,得到新建文件对话框,输入文件名后Finish

(2)编辑文件内容,双击文件,就可以进行编辑了,DSP的语法同C语言基本一致。这里的DNUM是在c6x.h中定义,表明当前核的ID号。
(3)导入Linker文件(或叫链接命令文件),其是.cmd格式的,是项目必须的,主要是给处理器安排内存、堆、栈等方面的分配,可以自己手动生成,也可以到Ti官网上根据不同的处理器下载不同Linker文件:http://processors.wiki.ti.com/index.php/Linker_CMD_Files_for_CCS 。这里我们假设处理器平台为C6678,因此下载对应的C6678链接命令文件。
       下载后C6678.cmd文件后,回到项目上,右击选择Add Files...,将C6678.cmd导入到项目中,此时出现如下对话框:
       选择Copy files是将导入的文件复制到项目目录下,而Link to files只是相当于快捷方式,这里我们选择Copy files,此时我们完成了项目的文件导入,如下,还有一种导入方法,是直接将文件复制到项目目录下,然后刷新Project Explorer后就能自动导入项目需要的文件。

三、编译项目
当源文件、链接命令文件、头文件就位后,就可以进行项目编译了。项目编译有如下几种方法:
(1)右击当前项目,选择Build Project
(2)选择菜单栏Project,点击Build Project
(3)选择工具栏上的小锤子,此时还可以切换Debug/Release
       点击编译后,可能会得到如下提示,这里Console是控制命令窗口,Problems是提示错误和警告,这里的编译结果是没有错误和警告。
四、项目仿真
       这里仿真是软件仿真,我们需要首先生成一个Target文件,这个文件主要目的是定义仿真器
       点击选择Target Configuration File,键入目标配置文件名称后,Finish完成安装
       此时Project Explorer中多了一个.ccxml文件,我们可以看到这个文件上多了一个红色小叉,这个标记说明了当前文件有错误,因为当前我们还没有配置目标仿真器,所以会出现错误。
       我们选择C6678 Device Functional Simulator, Little Endian,单击Save,完成目标配置,此时我们也可以发现文件上红色小叉也消失了。
       目标配置文件完成后,就可以开始仿真了,这里同项目编译一样也有三种方式,不过这里我们推荐直接点击工具栏上的小虫,点击仿真后,因为这里的C6678是多核DSP,所以会现在如下选择DSP核的对话框。这里全选完成。
       仿真调试窗口如下:
       这里如果有部分窗口没有出现,也没关系我们可以在窗口中选择
(1)单核运行,我们选择一个核,点击运行,在控制台窗口可以看到结果

(2)多核运行,我们通过Shift全选所有核,右击选择Groups cores,然后点击运行,在控制台窗口可以看到多个核运行的结果

       这里如果没有出现预期的结果,可以重新导入程序,重新测试下,这里导入的执行文件是前面编译过程生成的.out文件

       完成调试后,我们点击红色小方块停止调试,重新返回到我们原来的界面
这里我们就完成了第一个多核DSP项目,是不是很简单,这里关于相关调试工具的使用,我们放到后面进行讲解~_~
五、参考文献
Ti官网资料
关于创建项目:http://processors.wiki.ti.com/index.php/GSG:Creating_projects_v5

关于调试项目:http://processors.wiki.ti.com/index.php/GSG:Debugging_projects_v5

例程:https://github.com/tostq/EasyMulticoreDSP/tree/master/1.HelloWorldtest

光电经纬仪是最早、最广泛应用于飞行器测控领域的光电跟踪测量设备,它 的组成部分包括大地测量光学经纬仪、激光跟踪测量系统、微机控制系统与图像 处理系统组成。光电经纬仪通过记录飞行过程中的目标图像,并测量传动机架的 角度,从而获得目标飞行参数,它在飞行实况记录中发挥重要的作用 [1] 。此外, 它还可以实现迅速定位目标位置和自动跟踪高速目标,已被广泛地应用于诸如航 天发射、飞行器测控等光电测量领域 [1] 。 随着数字图像处理等技术的发展,光电经纬仪由胶片式成像向数字式成像转 变。此外,高帧速率、高分辨率成像传感器技术已被广泛应用于光电经纬仪。这 些给光电经纬仪实时图像处理平台的发展带来新的挑战:复杂图像处理算法的实 现和数据吞吐量的巨大需求 [1-2] 。 DSP 作为一种密集型数据运算与实时信号处理的微处理器,能够很好的满足 复杂图像处理算法、实时性处理的需求。DSP 技术经过多年的发展,被广泛应用 在信号、图像、通信等技术领域,尤其是高性能计算、高速实时图像处理、超大 数据量处理的军用电子领域 [2] 。现今的图像处理平台由于芯片单片运算能力受到 限制,绝大部分使用了多个 DSP + FPGA 的架构,才能勉强实现实时图像处理任 务 [3] 。但是这样的平台带来的困难是显而易见的: 1. 系统结构复杂。采用多片 DSP+FPGA 的架构,系统的整体处理性能受片 间(DSP 与 FPGA 之间、DSPDSP 之间)通信带宽瓶颈而下降。 2. 系统功耗大。多片 DSP 在单块电路板上的集成度越高,带来了单板整体 功耗的增加和散热的问题,导致单板多片 DSP 整体处理性能的可靠性和稳定性。 3. 系统调试困难。由于系统结构的复杂,导致系统的调试异常的困难。芯 片之间的任务分配、数据传输、并行处理非常复杂,使得产品在设计、调试、生 产阶段的难度加大。 本文研究的课题来源于光电经纬仪图像处理平台由多片 DSP 架构升级到多 核 DSP 架构而提出的系统应用需求。结合实验室的项目情况,本文将重点放在 多核 DSP 并行的以下相关技术: 1. DSP+FPGA 架构下图像数据流的设计。光电经纬仪的图像处理系统需要 兼容前端的多种图像输入格式,包括 CameraLink、SDI 以及光纤接口,DSP+FPGA载板搭配不同的子板就可以实现输入的灵活性;此外,DSP+FPGA 图像处理系 统中的高速 SRIO 接口用于图像数据通信。本文在 CameraLink 和 SRIO 这两个关 键接口做了一定的研究工作。 2. 多核环境下并行访问共享/外部存储器的性能研究和设计原则分析。多核 DSP 中存在多个主设备,包括多个 DSP 内核、多个 EDMA 设备等,它们并行访 问存储器的数据带宽,对于应用程序存储资源的安排、软件结构的设计是至关重 要的。 3. 多核 DSP 并行调度方案的研究。多核 DSP 图像处理平台,一方面要实 现复杂的图像处理算法,另一方面要满足超大运算量对实时性处理的需求。基于 多核的系统应用开发关键的一步,就是选择合适的处理模型实现任务并行调度。 本文将介绍多核 DSP 并行调度的几种方案,并以算法实例对主从模型进行分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值