手把手教你使用ADSP-21569(二)在线调试程序的详细说明(GPIO-LED跑马灯)

作者的话

本章讲一下21569这颗芯片应该怎么去做开发,流程是怎么样的。其中硬件应该怎么链接?软件需要安装哪些?环境要怎么搭建?提供的例程要如何加载、编译、运行?就看这个文档。

21569的LED灯调试

硬件准备

ADSP-21569EVB开发板

产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.17.4e1b60feObN1HG&id=721683997705

ADS-21569开发板图示

在这里插入图片描述
板子我做的是核心板+底板的组合方式。

AD-HP530ICE仿真器

产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.11.52dfbfa3xB7JE7&id=38007242820

在这里插入图片描述

USBi仿真器

产品链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.11.660c3150wSsVGk&id=38242936768

在这里插入图片描述

软件准备

CCES软件,这是ADI的215XX系列DSP所需要用到的开发软件。

安装CCES软件,我装的是2.11.1,官网可以下载。软件如何安装,新手请务必单独联系我的QQ:5516164。

https://www.analog.com/cn/design-center/evaluation-hardware-and-software/software/adswt-cces.html#software-overview

在这个链接里头下最新的版本。(特别注意,我发现我的2.11.1的代码在2.10.1上就运行不正常,这是ADI开发软件的老传统,不向下兼容,所以大家开发的话最好固定在某个版本就别变了,除非他有很大的BUG,我现在的所有开发都是在2.11.1上进行的,请大家先跟我的节奏走)

在这里插入图片描述

硬件链接

开关的调节

首先调开关,板子上只有一个三向的开关,是用来调DSP的BOOT模式的。我们先来看看21569手册里对BOOT模式的说明:

在这里插入图片描述

21569有很多种BOOT模式,我们板子上就做了一个SPIFLASH,所以我们用的就是SPIFLASH boot,把我的开关拨到如下图所示,就实现了SPIFLASH BOOT;

在这里插入图片描述

这里调的是:
BMODE0:1
BMODE1:0
BMODE0:0

但是我们现在要做的是调试程序,而不是让系统BOOT,所以我们就不能把开关调到SPIBOOT,否则有可能在你硬件上电后,板子直接BOOT flash里的程序,JTAG仿真器抢不过来,无法链接到DSP来做开发。(特别是flash里烧写了错误的程序,有可能直接上电就让DSP处于非正常状态,而导致仿真器无法链接DSP)。

问题提出来了,解决的办法是什么呢?很简单,但凡我们要调试21569,你就直接把这个开关拨到非SPI BOOT模式不就好啦,如下图:

在这里插入图片描述

BMODE0,1,2全部都给他调到0。

硬件链接图示

开关拨好之后,我们先把仿真器和板子插上,注意仔细观察你会发现,开发板的14针JTAG接口怎么断了一根针?是不是板子设计有问题?还是运送过程中损坏了?

答案是做的防反插设计,你看一下仿真器的接口,14PIN的母口中也有一个口是被堵上的,板子上的这个断针和仿真器被堵的眼都是无效接口,他俩已对应就正好达到了防反插的目的(防呆),你怎么都不会插反了。

这个设计不是我们创造发明的,ADI自有了DSP开始,就用这样的防呆,已经20多年了。并且写入了他的JTAG设计规范文档“EE68”中,要求用户这么设计,避免因为仿真器插反了导致烧毁硬件的情况发声。

插好之后,再给板子上电,再给仿真器上电(USB线接电脑),这一步非常关键,ADI的DSP仿真器不支持热插拔,你务必,必须,一定要在断电的情况下插或者拔JTAG,千万不要带电操作。

有兄弟说我就带电拔插了,也没出问题啊?是的这么干大概率也不会出问题,但是根据我们做了20年ADI DSP仿真器的经验来看,一旦出问题,烧毁了硬件,百分之99是因为带电拔插,为了杜绝这小概率事件的发生,我们就索性定下来规矩,严禁带电拔插JTAG头。

硬件接好后,就如下图所示:

在这里插入图片描述

简单说一下,正确链接后,仿真器Power灯亮,其他三个灯都不亮;开发板底板的Power灯亮,核心板的LED5亮,其他都不亮。

仿真器驱动的安装

仿真器用到了AD-HP530ICE,这个仿真器接上电脑后(电脑里已经安装好了CCES软件),就会自动识别并安装好驱动,在设备管理器里看到的是这样的:

在这里插入图片描述

绝大多数就会直接装好了,立即可用,但是也有很少的情况,有兄弟发现插入后不能够自动安装驱动,是一个问号,那么我们就需要手动指定一下驱动位置:

在这里插入图片描述

驱动就在你的CCES软件安装目录下,Setup文件夹里,具体是哪一个不用知道,你只需要在手动安装驱动的那个界面下,选择到这个目录就可以了,选择完之后他会帮你装好驱动。

如果不会操作,可以看看我在CSDN上写的这篇文章:

https://blog.csdn.net/ADI_OP/article/details/128575709

硬件链路测试

实际上我们把软件装好了,硬件连好了,驱动也OK,正确上电后,就可以直接开干了,但是我觉得对于完全没有用过ADI DSP的新手,有必要先做这一步,就是硬件链路测试,也叫TEST,来检测一下PC,仿真器,DSP板之间的数据通讯是否正常。

首先硬件环境搭建好了,上电正常后,打开CCES软件,他会让你设一个工作组,因为CCES是基于Eclips来做的,所以你会发现跟它非常像:

在这里插入图片描述

我们就默认,点Lanch进入:

在这里插入图片描述

然后我们来做检测,在RUN菜单里,选Debug Con…(单词太长了懒得打,看图):

在这里插入图片描述

进入后,我们开始测试:

双击他,跳出TEST所需要的界面,选好了我们用的21569(截图用的是21565的,效果一样,就不改图了,把问题讲清楚就好),然后点Con…

在这里插入图片描述

进入下一步后,点TEST:

在这里插入图片描述
在这里插入图片描述

说一下这个TEST,非常重要,新手必须掌握此项:

Type:ICE-1000;说明你的仿真器已经正确的安装驱动,并被CCES软件识别

在这里插入图片描述

第123步是ICE自检,点Star后通常都会打钩,如果有问题,99%都会在第一步打叉,这基本是软件问题,解决的办法就是关闭软件,断电重来,或者重装一下软件。

第四第五步是PC,仿真器,板之间的链路检测,如果有问题,99%会出现在第四步,有可能是板子没上电?板子和仿真器没插好?仿真器坏了,都有可能,就要具体问题具体分析了。

五步全部打钩,就证明硬件链路完全没问题,我们可以开始调试啦。

在这里插入图片描述
所以这个TEST不仅仅是开发前检测链路,也是当你调试报错的时候,检测数据链接的最有效工具,很多兄弟调试过程中报错,怀疑是不是板子坏了,仿真器坏了?就可以用他来检测一下,非常重要。

导入工程

我给这个开发板上写了一些工程,就先拿一个工程为例,详细的说一说;

在这里插入图片描述

把这个code文件夹拷贝出来,放到一个纯英文的,简单路径的文件夹里,比如D盘下新建一个ADI文件夹,把Code丢进去。

为什么这么做呢?ADI的老传统,软件对中文路径支持的很不好,你看我现在的路径,又是产品资料,又是刻盘资料,又是开发板例程,一堆中文文件夹嵌套,很有可能再软件编译的时候拨错,导致无法做调试,所以咱们就干脆了点,丢到D-ADI-21569里头去就完了。

在这里插入图片描述

回到CCES软件,在下图空白处鼠标右键,然后点Import来导入我写的例程:

在这里插入图片描述

在这里插入图片描述

Next:

在这里插入图片描述

选择你刚刚拷贝过去的code文件夹,选一个工程,我就选一个最简单的LED工程,然后Finish,工程就被正确导入啦。

在这里插入图片描述

链接仿真器,搭建软件环境

我们要用仿真器去在线调试,就需要做正确的仿真器配置,通常叫做新建Session,怎么新建很简单,我们选中工程,鼠标右键:

在这里插入图片描述

意思就是你这个工程的debug使用什么来做,我们看下面的界面:

在这里插入图片描述

双击第一个:

在这里插入图片描述

按图配置,然后Next:

在这里插入图片描述

选Emulator,然后继续Next:

在这里插入图片描述

选ICE-1000,然后finish:

在这里插入图片描述

先Apply,再Debug:

在这里插入图片描述

在Project这里头,会开始打印编译信息,最终编译完成后:

在这里插入图片描述

我们要运行程序,则需要点击下面,进入运行的界面:

在这里插入图片描述

点击运行程序后,我们可以从核心板上看到LED0,1,2以及LED6,7,4这6个灯一起闪烁,实现程序的运行。

在这里插入图片描述

红色框内的6个LED灯闪烁。

结束调试

注意,我们要下班了,结束调试,是直接关闭软件,然后板子和仿真器断电吗?不是,你需要把你的软件和硬件链接给断开,点这里:

在这里插入图片描述

点它就是断开软件链接,点完之后:

在这里插入图片描述

DEBUG这里就没有可以操作的东西了,我们可以关闭软件,并分别给板子和仿真器断电,再拔掉JTAG头,结束本次调试。

工程的简单说明

回头来看看这个工程,其实兄弟们把工程点开看看就明白。

在这里插入图片描述

更多的程序

上面这个LED灯的例程,这些配置是从哪里来的?我不是自己一点一点配的,是从ADI官方提供的2156X例程里摘出来的,至于官方提供的例程到底在哪里?请看2156x的SDK开发包:

官网的下载页面链接:https://www.analog.com/cn/design-center/evaluation-hardware-and-software/evaluation-boards-kits/ev-21569-ezkit.html#eb-relatedsoftware

在这里插入图片描述

安装完这个SDK后,在安装目录下找到它:

在这里插入图片描述

官方提供的例程都在这里:

在这里插入图片描述

按照上面讲的方式导入工程,我先导入一下Driver文件夹:

在这里插入图片描述

一大堆的官方提供的工程:

在这里插入图片描述

我们再导入一个PowerON:

在这里插入图片描述

划拉划拉,就划拉了LED的程序啦。大家可以好好研究一下这些官方例程,再自己划拉。

下一个文档

如何调试一个工程,相信这个文档已经讲的比较清楚了。后面还写了几个测试的工程,再详细说一说这个CCES的C编程吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ADI_OP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值