ADI的DSP开发软件:CCES软件的使用说明(很早期写的一点心得)

news2024/11/18 15:39:40

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有些细节不太一样了,凑合看吧,意思到了就行啦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/70165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

点成分享 | 为什么动物细胞培养大都需要二氧化碳培养箱

在进行动物细胞体外培养的过程中,培养条件苛刻,仅在环境因素方面除了要有严格的无菌环境、适合的温度、渗透压、相对湿度等,维持细胞周围的气体环境和pH稳定也十分重要。 动物细胞的体外培养需要理想的气体环境和适宜的pH环境。众所周知&…

Python中的type和object详解

这篇博客主要描述Python的新风格对象(new-style objects)&#xff0c;如下&#xff1a; <type type>和<type object>分别是什么&#xff1f;用户自定义的类和实例之间是怎么联系的&#xff1f;它们和内置类型又是怎么联系的&#xff1f;什么是元类(metaclasses)&a…

npm安装慢 ,卡在sill idealTree buildDeps不动

先说结论&#xff1a;node的默认镜像是国外的&#xff0c;修改镜像为国内地址。 报错截图&#xff1a; Failed to check for updates&#xff0c;开始以为是版本问题&#xff0c;并没有理会&#xff0c;直接创建项目&#xff0c;结果卡在了sill idealTree buildDeps&#xff08…

有关于torch.autograd.grad

torch.autograd模块给用户提供了一个自定义求导的接口。torch.autograd.grad可以手动地将loss对某部分参数进行梯度求导&#xff0c;特别适用于debug和观测。 笔者经常使用这个接口用于观测模型优化出现问题时&#xff0c;梯度值是否出现异常&#xff1b;以及用于代替tensorbo…

检验基础的 JavaScript 面试题

1. 下面代码的输出是什么&#xff1f; function sayHi() {console.log(name);console.log(age);var name "Lydia";let age 21; }sayHi(); A: Lydia 和 undefined B: Lydia 和 ReferenceError C: ReferenceError 和 21 D: undefined 和 ReferenceError 答案: D…

12月编程语言排行榜公布!一起来看变化!

2022年迎来了最后一个月&#xff0c;我们可以看到&#xff0c;在这一年中编程语言起起伏伏&#xff0c;有的语言始终炙手可热&#xff0c;而有的语言却逐渐“没落”… 日前&#xff0c;全球知名TIOBE编程语言社区发布了12月编程语言排行榜&#xff0c;有哪些新变化&#xff1f…

一篇博客搞定深度学习基本概念与反向传播

目录 深度学习的发展过程 深度学习的步骤 定义Neural NetWork 全前向连接 softmax介绍 定义loss函数 定义优化器选择最优参数optimization 反向传播Backpropagation 深度学习介绍 反向传播视频 深度学习的发展过程 perceptron(liner model)感知机——线性模型 perc…

ESP32入门基础之资源管理

文章目录1 ESP32-DevKitC V4&#xff08;ESP32-WROVER-E&IE&#xff09;板载资源2 FreeRTOS任务内存使用监控1 ESP32-DevKitC V4&#xff08;ESP32-WROVER-E&IE&#xff09;板载资源 ESP32-DevKitC V4 入门指南 esp32-devkitc开发板参数对比 在工程中使用函数查询可用…

HTML学生个人网站作业设计:基于HTML+CSS+JavaScript设计多用途的图文展示博客HTML模板(16页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

IPv4/IPv6协议分析 实验报告

实验名称&#xff1a; IPv4/IPv6协议分析实验 一、实验预习 1、实验目的 利用抓包工具&#xff08;Wireshark/Windump/Sniffer&#xff09;抓取IPv4/IPv6分组&#xff0c;以进一步熟悉和理解IPv4/IPv6格式规范与IP协议的工作原理 2、实验内容…

HBase Windows 安装

一、写在前面 在安装HBase之前&#xff0c;我们需要先安装JDK和Hadoop&#xff0c;具体JDK和Hadoop的安装我前面已经做过了&#xff0c;需要的话&#xff0c;请看我的另一篇博客&#xff1a;Hadoop Windows 安装 还是那句话&#xff0c;在安装HBase之前&#xff0c;我们需要搞清…

IDEA 一些实用性的设置(Doing)

文章目录设置鼠标滑轮修改字体大小设置自动导包和删包功能设置显示代码行号和方法间的间隔符设置忽略大小写提示设置文件多行显示tabs设置默认字体、字体大小和行间距设置鼠标滑轮修改字体大小 file——setting&#xff08;快捷键&#xff1a;CtrlAltS&#xff09;——editor—…

ELK(搜索与分析技术栈)

一、介绍 ELK其实并不是一款软件&#xff0c;而是一整套解决方案&#xff0c;是三个软件产品的首字母缩写&#xff0c;Elasticsearch&#xff0c;Logstash 和 Kibana。这三款软件都是开源软件&#xff0c;通常是配合使用&#xff0c;而且又先后归于 Elastic.co 公司名下&#…

HTML学生个人网站作业设计成品 HTML+CSS肖战明星人物介绍网页 web结课作业的源码

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

并发与竞争(三)自旋锁

文章目录自旋锁的概念什么是自旋锁&#xff1f;自旋锁的API函数&#xff08;一&#xff09;自旋锁的使用步骤其他自旋锁API函数&#xff08;二&#xff09;自旋锁的注意事项内核中自旋锁的实例自旋锁死锁写代码临界区在哪&#xff1f;最简单的实现逻辑完整实现自旋锁的概念 什…

Python pip更新教程(两种方式)

1. 直接采用命令行模式更新 1.1 搜索框搜索cmd&#xff0c;然后以管理员模式打开 1.2 执行命令 python -m pip install --upgrade pip1.3 查看更新后的版本 pip --version注&#xff1a;如果更新失败&#xff0c;可能是因为网络的问题&#xff0c;则选择第二种更新方法。 2.…

零基础怎么入门python

本文由正厚软件陈老师提供 “编程零基础&#xff0c;可以学习Python吗&#xff1f;” 这是很多初学者经常问的一个问题&#xff0c;我的回答是可以&#xff01;现在很多小学、初中也开始学习编程语言&#xff0c;选择的入门语言就是python。 python其实和学中文没什么区别&…

Windows 10关闭快速启动的方法

在Windows 8及其更高版本的Windows系统中&#xff0c;快速启动功能会被默认开启&#xff0c;开机时间也能大大缩短。但是在某些情况下&#xff0c;快速启动功能的开启会带来部分系统问题&#xff0c;从而无法正常使用电脑。那么我们该如何关闭快速启动呢&#xff1f; 快速启动的…

Redis06:Redis进阶部分

Redis进阶部分Redis配置文件详解Redis持久化持久化之RDB操作rdb优缺点Redis配置文件详解 Redis持久化 Redis是内存数据库&#xff0c;如果不将内存中的数据状态保存到磁盘&#xff0c;那么一旦服务器进程退出&#xff0c;服务器中的数据库状态也会消失&#xff0c;所以Redis提供…

taro3.3.12升级至3.5.8解决支付宝小程序启动基础库2.0构建报错---slot 的祖先节点中未找到 element

项目&#xff1a;taro3 vue3 taro版本&#xff1a;3.3.12 支付宝在上传版本时要求用基础库2.0编译&#xff0c;否则报错&#xff0c;启动2.0编译后&#xff0c; 会有如下错误&#xff1a; 解决方案&#xff1a;社区里面说是要升级taro >3.4.0 步骤1、查看taro版本 – …