作者的话
ADI的SHARC系列DSP,现阶段最强的型号是SC589,那么我就以SC589为例,写一点资料,让新手能够比较便捷的熟悉开发环境,软硬件,顺利的进入开发。
文档解决的是入门的问题,所以不会深入去写怎么开发SC589,高手可绕行。
资料的获取
我们要做SC589,资料从哪里获取?有没有可以给我们参考的例程?硬件设计原理图PCB可否提供?这是OP在做技术支持的时候,遇到新手问的最多的问题,那么统一说一下:
网站是全中文的,非常友好。
先进芯片页面。
全中文,非常友好,你一切想要从官方获取的芯片资料,全部都可以在这个页面下载,手册,编程指南,硬件设计指南。。。。。。全部在这里,下载只需要点链接,不需要任何的注册!
我们看一下用户关心的比较多的,软件编程手册和硬件设计指南:
点一下就能在线打开,或者下载。
芯片相关的资料全部都在这里了,那么客户一定会想说,那例程在哪里?有没有硬件电路板的设计资料?别着急,继续,还是在官网里头。
搜索SC589,你会发现底下还有2个,一个是EV-SC589-EZLITE,这个就是我们用的硬件板,全功能开发板,我们把这两个网页都打开。
EV-SC589-EZLITE
板子的手册,硬件设计原理图,甚至PCB源文件,全部都可以一键下载!
再往下看,软件例程在哪里:
SC589的SDK开发包,直接下载安装。我装好之后,如下图:
例程就都有啦,官网提供的,不会出问题哦。
技术支持
ADI的技术支持有邮件、电话、论坛,我作为一个20年ADI DSP开发者,给出的建议,最好的技术支持方式是通过论坛。
DSP的专属论坛里,全球的ADSP开发者都在这里提问,并获得ADI美国、印度、中国等研发工程师的回答。
我们进一个2156X的专区看看:
咱们可以在这里搜索关键字,看看全球用户有没有跟我遇到同样问题的?以及是否就有现成的答案?或者自己提问,等待答复。这个我个人感觉是最靠谱的。当然如果你就认识ADI的AE,又是10几年的老交情,不要犹豫,直接给他打电话弹微信语音视频就好了,比如OP我本人 😃
SC589的软件准备
在这个链接里头下最新的版本即可。
上面有写,直接下载安装即可。(先装CCES软件,再装SDK)
SC589的硬件准备
言归正传,我们开始做SC589的开发,首先是硬件,需要一块SC589的硬件板,我用的是ADI的SC589全功能开发板,一个仿真器,我用的是OpenASDP开源社区的AD-HP530ICE,一个开发板电源,给板子供电,一根USB线给仿真器供电,一台PC,操作系统我是WIN10。
开发板的供电是一个很小的接口,仿真器和开发板通过JTAG口和一个转接头连接,仿真器的USB线接PC,硬件的搭建就是这样的。
为了更清晰一点,我再补一点图:
仿真器的接口跟板子的接口是怎么对应的,从图上看的话,是这样:
如果看要搞清楚接口定义的话,请往下看:
ADI在前15年用的都是14PIN的JTAG设计,遵循他的EE68文档,这个文档我们有提供。而在近几年BF70X,SC58X,2156X,SC57X,2157X,2159x的新DSP设计中,引入了10PIN的JTAG设计。而AD-HP530ICE是传统的14PIN设计,如何能支持10PIN的JTAG呢?我们做了一个14PIN转10PIN的转接头。
接口定义
注意,我用的是Protel,没法把底视图显示出来,所以这个蓝色的图是镜像的。
转接头的1脚在哪里,看丝印:
仿真器使用说明
看一下接口定义图,对照板子的10PIN接口来接,这个是常规搞法,如果你不想去研究目标板的JTAG定义,太麻烦了,那么下面我们来点更简单的。
硬件链接
再把他插到板子的10PIN JTAG头上,这个时候就有个疑问,到底按哪个方向插?原则上我们要看一下板子上的原理图,把PIN脚对一下,或者看我上面的硬件链接图。
如果不看行不行,可以,那就随便先插上。
这个时候我们并不知道仿真器跟板子的链接是不是正确的,怎么办,简单,把仿真器和目标板都上电。
打开CCES软件,别先急着链接。
先在RUN里去找session的配置:
配置session
不要NEXT,我们先Configurator…
然后来TEST一下,这个TEST就是来测试你的板子和仿真器的链路通道的。
点击Start之后,看左边的测试结果:
我点完后,左边打5个对勾,证明我的仿真器和板子链路畅通,这个硬件的接法没有接反,是接的正确的。
简单说一下这5项,123是仿真器自检,如果第一项打叉,99%软件问题,可能是驱动没装好,重装一下驱动,关闭软件,硬件断电,重新来。23项打叉,仿真器内部有问题,直接返厂维修。
第四和第五项就是仿真器给DSP发数据,DSP返回数据给仿真器,验证二者之间的JTAG通道,如果第四步打叉,说明你的仿真器接反了,或者板子没有上电,或者仿真器有问题。
所以我上面提到的,你如果不知道你的仿真器是否接反了,那就用这个test来测,如果全通过,那就去正常使用把。如果第四步不通过,接反了,仿真器断电,板子断电,软件关闭,重新接一下正确的硬件,仿真器上电,板子上电,打开软件,TEST,全通过,正常使用。
特殊注意:务必,一定,必须,不要,带电拔插JTAG头,要拔掉或者插上,一定是板子和仿真器均未上电的情况下去操作。切记切记切记。
开始调试
软件用的是CCES,这个软件是基于Eclipse的,基本操作跟他都一样,我们首先打开软件。
他会让你设置一个workspace,直接点Launch,Eclipse都这样。
然后我们开始导入程序,因为ADI提供了一个开发包SDK,程序都在那里,我们就把那些例程导入进来。
直接下一步,eclipse导入程序都这样,也没什么好多解释的。
选择你的SDK安装目录,找到你想要导入的程序,我这里就导入一个POWER的吧。
这个路径有够长的。选择了这个文件夹,你会发现下图里就有程序了。
选择我想要的工程,Finish之后,工程目录这边就有了这个工程。
看一下这个工程的说明,编译运行这个程序。
那么我们下一步就让仿真器链接DSP,接管他并运行程序。
选设置一下Debug的配置页面
鼠标双击下图的这个debug:
选择SC589:
然后Next
选择了Emulator,然后Next:
选择这个ICE-1000,然后Finish。
然后先右下角的Apply,然后再Debug。
跳出来一个对话框,点YES
开始编译,编译完成:
点运行,就可以跑这个程序了:
停止运行就点这个:
结束调试断开链接点这个:
OK,新手入门教学到此为止,更多的例程,用户可以自己导入,并看一下ADI的程序说明,再跑一下,熟悉开发环境。