最强ADI SHARC系列DSP:ADSP-SC589的开发入门详解

news2024/11/24 1:14:29

在这里插入图片描述
作者的话

ADI的SHARC系列DSP,现阶段最强的型号是SC589,那么我就以SC589为例,写一点资料,让新手能够比较便捷的熟悉开发环境,软硬件,顺利的进入开发。

文档解决的是入门的问题,所以不会深入去写怎么开发SC589,高手可绕行。

资料的获取

我们要做SC589,资料从哪里获取?有没有可以给我们参考的例程?硬件设计原理图PCB可否提供?这是OP在做技术支持的时候,遇到新手问的最多的问题,那么统一说一下:

  1. ADI这个公司的风格就是,你想要做哪个型号的IC,可以登录官网:ADI公司官网

在这里插入图片描述

网站是全中文的,非常友好。

  1. 我们登录了网站之后,到搜索引擎去搜想要的型号,这个文档是写SC589,那么我就去搜SC589:

在这里插入图片描述

先进芯片页面。

  1. SC589的专属页面

在这里插入图片描述

全中文,非常友好,你一切想要从官方获取的芯片资料,全部都可以在这个页面下载,手册,编程指南,硬件设计指南。。。。。。全部在这里,下载只需要点链接,不需要任何的注册!

  1. 参考资料

在这里插入图片描述

我们看一下用户关心的比较多的,软件编程手册和硬件设计指南:

在这里插入图片描述

点一下就能在线打开,或者下载。

  1. 软件代码

在这里插入图片描述

芯片相关的资料全部都在这里了,那么客户一定会想说,那例程在哪里?有没有硬件电路板的设计资料?别着急,继续,还是在官网里头。

在这里插入图片描述
搜索SC589,你会发现底下还有2个,一个是EV-SC589-EZLITE,这个就是我们用的硬件板,全功能开发板,我们把这两个网页都打开。

EV-SC589-EZLITE

在这里插入图片描述

板子的手册,硬件设计原理图,甚至PCB源文件,全部都可以一键下载!

在这里插入图片描述

再往下看,软件例程在哪里:

在这里插入图片描述

SC589的SDK开发包,直接下载安装。我装好之后,如下图:

在这里插入图片描述

例程就都有啦,官网提供的,不会出问题哦。

技术支持

ADI的技术支持有邮件、电话、论坛,我作为一个20年ADI DSP开发者,给出的建议,最好的技术支持方式是通过论坛。

在这里插入图片描述

ADI官方技术支持论坛

DSP的专属论坛里,全球的ADSP开发者都在这里提问,并获得ADI美国、印度、中国等研发工程师的回答。

在这里插入图片描述

我们进一个2156X的专区看看:

在这里插入图片描述

在这里插入图片描述

咱们可以在这里搜索关键字,看看全球用户有没有跟我遇到同样问题的?以及是否就有现成的答案?或者自己提问,等待答复。这个我个人感觉是最靠谱的。当然如果你就认识ADI的AE,又是10几年的老交情,不要犹豫,直接给他打电话弹微信语音视频就好了,比如OP我本人 😃

SC589的软件准备

  1. 安装CCES软件,我装的是2.10.1,官网可以下载,我也可以提供。软件安装没什么可说的,全部下一步,软件的试用跟注册可以单独联系我。

CCES软件下载的ADI官方网页

在这个链接里头下最新的版本即可。

在这里插入图片描述

  1. SC589的SDK

上面有写,直接下载安装即可。(先装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头,要拔掉或者插上,一定是板子和仿真器均未上电的情况下去操作。切记切记切记。

开始调试

  1. 软硬件都准备好了,该插的JTAG头,2根usb线都插好了,我们就开始进入调试,首先是要搭建软件环境。

软件用的是CCES,这个软件是基于Eclipse的,基本操作跟他都一样,我们首先打开软件。

在这里插入图片描述

他会让你设置一个workspace,直接点Launch,Eclipse都这样。

  1. 程序主界面长这样。

在这里插入图片描述

然后我们开始导入程序,因为ADI提供了一个开发包SDK,程序都在那里,我们就把那些例程导入进来。

  1. 鼠标右键,选择Import来导入工程:

在这里插入图片描述

在这里插入图片描述

直接下一步,eclipse导入程序都这样,也没什么好多解释的。

在这里插入图片描述

选择你的SDK安装目录,找到你想要导入的程序,我这里就导入一个POWER的吧。

在这里插入图片描述

这个路径有够长的。选择了这个文件夹,你会发现下图里就有程序了。

在这里插入图片描述

选择我想要的工程,Finish之后,工程目录这边就有了这个工程。

在这里插入图片描述

  1. 看一下这个工程的说明,编译运行这个程序。

  2. 那么我们下一步就让仿真器链接DSP,接管他并运行程序。

选设置一下Debug的配置页面

在这里插入图片描述

鼠标双击下图的这个debug:

在这里插入图片描述

选择SC589:

在这里插入图片描述

然后Next

在这里插入图片描述

选择了Emulator,然后Next:

在这里插入图片描述

选择这个ICE-1000,然后Finish。

在这里插入图片描述

然后先右下角的Apply,然后再Debug。

跳出来一个对话框,点YES

在这里插入图片描述

开始编译,编译完成:

在这里插入图片描述

点运行,就可以跑这个程序了:

在这里插入图片描述

停止运行就点这个:

在这里插入图片描述

结束调试断开链接点这个:

在这里插入图片描述

OK,新手入门教学到此为止,更多的例程,用户可以自己导入,并看一下ADI的程序说明,再跑一下,熟悉开发环境。

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

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

相关文章

SpringCloud Alibaba框架都有啥啊

前言 文章目录前言1.集成Nacos实现服务的自动注册与发现2. Feign负载均衡注:OpenFeign和Feign的区别:3.使用Sentinel实现了接口的限流4.Feign整合Sentinel实现容错5.API网关6.Sleuth整合ZipKin实现链路追踪7.消息队列MQspring cloud是一个基于springboot…

做软件测试如何突破月薪20K?

IT行业从事技术岗位,尤其对于测试来说,月薪20K,即便在北上广深这类一线城市薪水也不算低了,可以说对于大部分测试岗位从业者来说,20K都是一个坎儿。 那么,问题来了,做软件测试如何可以达到月薪…

贪心,动态规划的区别

题目(力扣53): 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。 示例: 输入:n…

System V 消息队列(一)—— 消息队列相关接口函数(msgget / msgctl)

SystemV方案是在OS内核层面专门为进程间通信设计的一个方案,然后通过系统调用(system call)给用户提供通信接口。SystemV方案包含三种:共享内存、消息队列、信号量。 和System V 共享内存一样,OS为了管理这些消息队列…

【机器学习实战】对加州住房价格数据集进行数据探索(读书笔记)

1. 数据集描述及获取 数据集下载地址:housing.csv数据集的结构: 其中数据集有10个属性,分别为经度、纬度、housing_median_age、房间总数、卧室总数、人口数、家庭数、收入中位数、房价中位数、ocean_proximity。 2. 对数据集进行探索 2.…

web系统开发中关于企业里各种系统分类

关于企业里各种系统 OA 办公自动化系统 Office Automation (将现代化办公和计算机网络功能结合起来的新型办公方式) 功能:工作流、知识管理 功能模块:日报、考勤、事项审批等CRM 客户关系管理 Customer Relationship Management&…

C++日期和时间编程小结

C11 的日期和时间编程内容在 C Primer(第五版)这本书并没有介绍,目前网上的文章又大多质量堪忧或者不成系统,故写下这篇文章用作自己的技术沉淀和技术分享,大部分内容来自网上资料,文末也给出了参考链接。 日期和时间库是每个编程…

百度前端二面常考面试题

HTTP分层 第一层:物理层,TCP/IP 里无对应;第二层:数据链路层,对应 TCP/IP 的链接层;第三层:网络层,对应 TCP/IP 的网际层;第四层:传输层,对应 TCP…

编写递归函数,求斐波那契数列第n项

要求&#xff1a;编写递归函数int f(int n)&#xff0c;计算如下公式&#xff1a; 定义main函数输入n&#xff0c;调用f函数进行计算&#xff0c;在main函数中输出计算结果。 【样例输入】 10 【样例输出】 89 主函数&#xff1a; #include<stdio.h> int main() { in…

基于ssm的社区疫情返乡管控系统设计实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

C# 学习之路(类型、存储和变量)

C# 学习之路&#xff08;类型、存储和变量&#xff09; C# 是一组类型声明 如果泛泛的描述 C 和 C 程序源代码的特征&#xff0c;可以说 C 程序是一组函数和数据类型&#xff0c;C 是一组函数和类&#xff0c;而 C# 程序是一组类型的声明。 命名空间是一种将相关的类型声明分组…

mongodb 5.0.14 副本集 安装 单机版 记录

1、下载tgz 连接地址&#xff1a;mongodb 5.0.14下载 2、创建用户 useradd mongouserpasswd mongouser 3、解压tgz wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.14.tgz tar -zxvf mongodb-linux-x86_64-rhel70-5.0.14.tgz 4、拆分3个独立的mo…

编程团体赛

目录 1047:编程团体赛 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 思路: 代码: 时间复杂度: 总结: 题目链接: 1047:编程团体赛 编程团体赛的规则为&#xff1a;每个参赛队由若干队员组成&#xff1b;所有队员独立比赛&a…

Protocol buffe vs Json 为什么还会大量使用Json?

JSON&#xff1a;的最大优点就是可读性好&#xff0c;但是体积大。 Protocol Buffers&#xff1a;最大的特点就是体积小&#xff0c;传输需要带宽小&#xff0c;速度快。但是可读性较差 尽管JSON和Protobuf消息可以互换使用&#xff0c;但这些技术的设计目标不同。JSON代表Ja…

【元胞自动机】格子波尔兹曼模型及其应用研究(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

我去!Python 不愧是脚本之王,这 23 种命令行用法你全部 get 了吗?

1. 快速打印函数的调用栈 在阅读源码的时候&#xff0c;有时候我们想要看整个程序的调用栈是怎样的&#xff1f; 比较常规的做法是使用全局搜索函数&#xff0c;一层一层往上走&#xff0c;效率非常之低。 而我习惯了使用 pdb 对代码进行调试&#xff0c;在使用pdb时&#x…

vscode环境中配置git

1. 建立project空目录用于存放electron基本环境这个环境中得文件不能加入git项目中否则每次更新文件太大github不支持大于100M得文件上传 2. 使用vscode打开project目录 3.打开终端运行npm install electron 运行完成后会生成electron相关得两个json文件和一个文件夹 4.新建一个…

读取图片输出字符图案:用字符输出足球的图案

用字符输出足球的图案前言功能描述实现思路代码实现1️⃣ 获取像素点的RGB数值2️⃣ 判断每个像素点的RGB值是否符合3️⃣ main方法结果测试前言 世界杯&#xff0c;如火如荼的进行着&#xff0c;作为程序员也参加一下活动&#xff0c;蹭一下世界杯的热度 功能描述 通过读取足球…

跨行新手学习并备考阿里云云计算专业认证ACP大概需要多长时间呢?

先来了解一下阿里云认证&#xff1a; 阿里云认证是基于核心技术及岗位的权威认证&#xff0c; 阿里云针对不同产品类别、用户成长阶段、生态岗位&#xff0c;精心打造不同的认证考试。 个人&#xff1a;证明您在对应技术领域的专业度&#xff0c;能够基于阿里云产品解决实际问…

(附源码)spring boot投票系统 毕业设计 261136

基于springboot投票系统 摘 要 在科学管理机制越来越完善的今天&#xff0c;投票管理者只能依赖手工记录数据,这不仅仅浪费时间&#xff0c;并且对人力也是一种浪费&#xff0c;不能做到随时监控&#xff0c;对数据的准确性和及时性也是一种影响。所以投票非常急需一套既有与时…