(多核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

时间: 2024-08-29 02:08:00

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

(多核DSP快速入门)4.编译测试多核DSP实例Vlfft

原创文章 转载请注册来源http://blog.csdn.net/tostq 系列教程目录:http://blog.csdn.net/tostq/article/details/51245979 Vlfft是由TI官网提供的一个大尺寸快速傅里叶变换的多核DSP实例,其下载地址如下: http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/p/12423/67467.aspx 这个实例是许多同学多核DSP的入门

(多核DSP快速入门)0.前言+CCS的安装

原创文章 转载请注册来源http://blog.csdn.net/tostq 前言 最近老师给布置了个作业,让我用多核DSP做一个基于SIFT的RANSAC图像配准,SIFT+RANSAC网上都有许多代码,并不算难,但是多核DSP对于我来说,完全是一片空白,不光单核DSP没接触过,就连CCS是没用过.网上关于DSP的教程虽然很多,但绝大多数都是关于单核的,而多核DSP的教程虽然说也有,但是要么太复杂太专业,如TI的官网资料,要么就是说的不清楚,而且又没有什么完整体系,特别是我买的几本国内教程,完

RPC学习----Thrift快速入门和Java简单示例

一.什么是RPC? RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据.在OSI网络通信模型中,RPC跨越了传输层和应用层.RPC使得开发包括网络分布式多程序在内的应用程序更加容易. 二.什么是Thrift? thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和

Hadoop快速入门(WordContent简单应用)

Hadoop快速入门 WordContent简单应用 Hadoop的HelloWorld程序 创建HDFS目录 hdfs命令位于bin目录下,通过hdfs dfs -mkdir命令可以创建一个目录. [[email protected] hadoop-2.7.3]# bin/hdfs dfs -mkdir -p input dfs创建的目录默认会放到/user/{username}/目录下面,其中{username}是当前用户名.所以input目录应该在/user/root/下面. 下面通过`h

001-安装及快速入门【基于纯antd的基本项目搭建】

一.安装使用 1.1.安装 推荐使用 npm 或 yarn 的方式进行开发 npm install antd --save yarn add antd 1.2.浏览器引入 在浏览器中使用 script 和 link 标签直接引入文件,并使用全局变量 antd. 我们在 npm 发布包内的 antd/dist 目录下提供了 antd.js antd.css 以及 antd.min.js antd.min.css import { DatePicker } from 'antd'; ReactDOM

(多核DSP快速入门)3.利用EMCV进行图像灰度转换的单核DSP程序

原创文章 转载请注册来源http://blog.csdn.net/tostq 教程目录:http://blog.csdn.net/tostq/article/details/51245979 在CCS中应用EMCV有两种方法: (1)通过导入EMCV静态库的方法 (2)直接将EMCV的源代码导入项目文件中,虽然EMCV的源文件是C++格式的,而C++基本兼容C,而项目文件一般是用C写的,所以还需要将.c文件改成.cpp就可以了. 一.在新建空项目后,导入静态链接库和相关头文件 (1)这里的头文件

mybatis快速入门,mybatis简单实例, 如何使用mybatis

目录结构: 1. 导入所需要的包 2. 创建数据库 create database mybatis; use mybatis; CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT); INSERT INTO users(NAME, age) VALUES('Tom', 12); INSERT INTO users(NAME, age) VALUES('Jack', 11); 3. 建立相应

Ansible-Tower快速入门-8.创建组织【翻译】

创建组织 首行,点击组织标签,组织中将包括有:用户,团队,项目,和清单等项,在tower的对象层级中,组织是最高级对象. 然后,点击增加按钮,如: 为所创建的组织键入一个简单的名称和描述,这些信息你在之后也可以进行编辑,所以不是特别关键的,对于我们目前的示例来说,我们将创建一个虚构公司,命名为:Bender Products Ltd的组织,然后,点击保存按钮来保存所新创建的组织即可. 每个组织都有普通成员和组织管理员,组织管理员可以对成员关系和其它属性进行修改操作,然而普通成员却不可以有此权限进

Vue快速入门-1-Vue的简单使用

小生博客:http://xsboke.blog.51cto.com如果有疑问,请点击此处,然后发表评论交流,作者会及时回复. -------谢谢您的参考,如有疑问,欢迎交流 目录: 1. 简单的将数据渲染到DOM 2. Vue的"v-"指令 3. "v-if"指令的使用 4. "v-for"指令的使用 5. Vue的事件处理 6. "v-model:value"实现双向数据绑定 7. Vue实现逆转字符串 8. Vue 动态添