CCES 是 ADI 最新的 DSP 开发环境,全称是 Cross Core Embedded Studio,我从 2012 年的1.0.1 版开始使用,也曾经写过一个非常详细的软件安装文档,现在来详细的说一说 CCES 软件的使用操作。下面是我列出来的标题,一个一个来。
硬件准备
ADSP-B609-CORE开发板
AD-HP530ICE仿真器:ADI DSP专用仿真器(非常好用)
1)创建一个新的工程
2)导入一个现有的 CCES 工程
3)调试工程
4)关闭及删除工程
5)添加 LDF 文件
6)添加外部存储 SDRAM、调整堆 Heap 大小、调整栈 stack 大小
7)如何导出内存中的图片数据
8)查看寄存器变量
9)查看变量
话说 CCES 这个软件是 ADI 新出的,有些朋友可能会奇怪,2012 年就开始用的也算新?这个当然 OP 是跟以前老的软件做对比,它比较新,老的软件叫 Visual DSP++,这俩有什么区别呢?
Visual DSP++是 ADI 的第一个 DSP 开发环境,OP 没有从 1.0 开始,而是从 10 几年前的3.5 开始使用的,由于本文是讲 CCES,我就不对 VDSP 做更多的讲解,只讲不同,那就是 BF60X,BF70X,SC58X,SC57X 这些个芯片,只能用 CCES 来做开发,而 BF 以前的 BF5XX 系列,SHARC以前的除了 5 系列,全部都可以用 VDSP 来做开发!另外 TS 系列,219x 和 2199x 系列,只能用 Visual DSP++来做开发,不能用 CCES!
CCES 作为比较新的软件,是基于 Eclipse 修改而来。所以基本的界面跟 Eclipse 相似,新时代的开发者们,是不是有一种很亲切的感觉啦。
创建一个新的工程
如何来创建一个新的工程,我们来看一看:(本文均以 OP 目前安装的 CCES2.1.0 为例做详细讲解)
打开 CCES 开发环境,依次点击 File->New->Cross Core Project,弹出新建工程对话框,如下图 所示。
下一步,选择你的处理器及芯片版本号,因为本文我用的是 BF609 的开发板,芯片是最新的 0.2 版,所以见下图。
完成新工程的创建。
导入一个现有的 CCES 工程
如何在 CCES 软件里导入一个现有的工程,请见本章。
点击 File->Import 弹出选择工程向导对话框如下所示。
选择 General 下面的 Existing Projects into Workspace,点击 Next 弹出选择工程向导对话框如下图所示。
点击 Browse 选择工程目录,工程文件放在XX\learn_cces\lesson1_Core0,注意:CCES的工程文件是.project,与它同级目录有一个.settings 文件夹,选择工程目录是就选择到.settings 的上一级目录就可以了,如图:(这里需要注意,最好是用纯英文路径,来选择你要导入的程序。)
选择到 lesson1_Core0 目录,下面有.settings 文件夹,点击 Finish,选择完成,如下图所示
点击工程名 lesson1_Core0 前面的加号展开工程 , 并打开src目录下面的lession1_Core0.c 文件,在 main.c 函数加入几行打印如下图所示。
调试工程
接上一篇,在工程名上右键选择 Build Project 编译工程,编译完成如图所示
在工程上右键选择 Debug As 选择 CrossCore Application 弹出选择处理器类型对话框如下图所示。
选择 Application with…
选择 Blackfin,ADSP-BF609,Next!(我当时是以ADI的BF609为例)
选择仿真器,这里我们选择 AD-HP530ICE 仿真器所对应的 ICE-1000
弹出 Debug Configuration 界面,点击 Debug 按钮进行调试。
注意:由于 BF609 是双核处理器,在调试之前我们要确定当前选择的核,这里我们选择 Core0,如下图所示。
直接选择运行即可,或者单步运行该程序,单步我说一下,点击
或者 F10 来进行单步运行,运行结果:
可以在 Console 窗口有输出结果。就是写了个类似hello world的…
关闭及删除工程
如果要关闭一个工程在工程名上右键选择 Close Project
如果要删除一个工程在工程名上右键选择 Delete,这个删除只是从工程列表去除,磁盘上工程依然存在。
添加 LDF 文件
由于创建工程的时候默认是添加 LDF 文件的,所以工程默认是有 LDF 文件的,但是假设我们把 LDF 文件删除了的话就要添加 LDF 文件,下面说明如何添加 LDF 文件。
在工程列表下面找到 system.svc 文件并双击,我这里的工程是默认有 LDF 的,如下图:
如果被删掉,加进去就好啦。
添加完之后,就跟我之前的状态一样了。
添加外部存储 SDRAM、配置系统堆Heap、配置系统栈 Stack
首先确定已经 添加了 LDF 文件,双击 system.svc 弹出系统配置界面如下图 所示
在系统配置界面点击 Startup Code/LDF,(在下侧),即可弹出 LDF 配置界面,如下图所示。
选择 Use external memory (SDRAM),然后选择 128M(板子上贴的是多大的,就选择多大的),
选择 Customize the system stack 来配置系统的栈,如下图
选择 Customize the system Heap 来配置系统堆,如下图
最后点击保存完成外部存储 SDRAM、系统堆 Heap、系统栈 Stack 的配置。
如何导出内存中的图片数据
首先连接仿真器进入调试状态,并且 CPU 处于非运行状态,点击 Window->Show View->Memory Browser,如下图所示。
在 Memory Browser 窗口输入要导入到的内存地址,这里输入 0x00000004,SDRAM 的起始地址,回车,即可访问该地址的数据,如下图所示。
我们假设该起始地址存放有一个 4802723 的 RGB888 图片数据,点击右侧导出按钮
弹出 Dump Memory 对话框,如下图
File type:选择 Binary file
File name:文件路径,不要放在中文路径下
Address:起始地址
Count:数据量,4802723 = 391680
点击 OK 即可导出!
查看寄存器变量
首先进入调试状态,并且处于非运行状态,点击 Window->Show View->Register Browser,弹出寄存器窗口如下所示:
点击中间的按钮,选择一个寄存器进行查看,我们选择 EPPI0 进行查看,如下图所示。
点击 OK,可以看到 EPPI0 的各个寄存器值,如下图所示。
查看变量
首先进入调试状态,并且处于非运行状态,点击 Window->S h o w V i e w->E x pressions,弹出变量窗口,如下图:
点击 添加要查看的变量,可以看到值为 6,如下图:
注意,只能看全局变量。
结束语
10年前写的一点心得,可能现在新版的CCES有些细节不太一样了,凑合看吧,意思到了就行啦。