当前位置: 首页 > news >正文

ADSP-21565的SigmaStudio图形化编程详解

作者的话

ADSP-21565作为ADI的SHARC类DSP,也是可以使用SigmaStudio(简称SS)或者SigmaStudio Plus(简称SS+)来做图形化编程的。在ADSP-21569的评估板上,我们写了非常详细的操作流程,现在轮到21565了。

在做21565的图形化编程之前,我们需要先看完21569的SigmaStudio开发文档,了解整个开发逻辑和详细流程之后,再回来看本文档。

阅读前置文档

文档名为:“前置阅读:ADSP-21569EVB开发板的图形化编程详解.pdf”,把它读完,我们再回头来做21565的SS开发。

软件准备

我们先用SS来做,所以需要安装的软件:

CCES2.11.1(我用的是这个版本,它是必须首先要装的)
SigmaStudio4.7
SigmaForSHARC4.6
SigmaStudio Plus 2.4.0(注意,装这个是要用到里头的Fireware工程,文章后面会讲)

硬件准备

ADSP-21565开发板 一块

产品链接:https://item.taobao.com/item.htm?id=724290880282&spm=a21xtw.29178619.0.0&ltk2=17537807403329afwimgsf3sxz1mq2xat7h

AD-HP530ICE仿真器 一个(或AD-ICE2000仿真器)

https://item.taobao.com/item.htm?id=724290880282&ltk2=17537807403329afwimgsf3sxz1mq2xat7h&spm=a21xtw.29178619.0.0

USBi仿真器 一个

https://item.taobao.com/item.htm?id=38242936768&ltk2=17537807781694bl3w9jzvg4i3etpojyy4&spm=a21xtw.29178619.0.0

5V2A电源适配器一个
3.5mm耳机一个
USB线若干

硬件链接示意图

在这里插入图片描述

  1. AD-ICE2000仿真器(或AD-HP530ICE,我用的是ICE-2000)插上开发板的JTAG,有防反插,直接怼;
  2. USBi仿真器插上开发板的USBi JTAG,有防反插,直接怼;
  3. 5V2A电源适配器插上;(此刻6-电源开关是默认OFF的)
  4. 3.5mm耳机接音频输出接口;
  5. AD-ICE2000仿真器通过MINI USB线接PC,上电;
  6. 开发板电源开关拨到ON,给开发板上电;
  7. USBi接口先空置,不要用USB线接PC,很重要。

SS开发第一步,先运行Fireware(FW)

我们读完前置文档,通过21569的SS开发应该能够了解到,SHARC DSP要做SS图形化编程,首先要在CCES软件中运行FW工程。21569的FW工程是ADI直接提供的,我们拿过来直接可用,非常方便。

但21565没有FW工程,这也是开发板面世很久,我都没有写这个SS开发21565教程,实在是搞不到这个最关键的FW程序。

有兄弟会说21569和21565都是同一个内核,差别仅仅是569有外部总线,可以接DRAM,565没有外部总线,不能接DRAM,难道569的FW不能直接用在565上吗?答案是不可以,因为569的这个FW工程恰巧用到了DRAM,565又没有DRAM,用565运行这个569的FW会直接报错,用不了。

正确的解决办法就是用21569的FW来改出一个21565的匹配工程来,让FW在DRAM下内容都转到565的SRAM里运行。

我们先找到这个工程,FW工程就用ADI最新提供的,在SS+2.4.0安装目录下:

在这里插入图片描述

要用这个工程改,我们先把整个文件夹拷贝到一个新建的文件夹里,别把软件安装目录里的程序弄乱了:

在这里插入图片描述
注意,从Exmaples拷,不要单独只拷贝21569的工程。

在这里插入图片描述

也许21569会调用这里的内容,所以我们就索性全拷出来。

在这里插入图片描述

再下一个目录就能找到我们要用的21569的FW。

把21569的FW改成21565的工程

注意,这只是OP自己摸索的,并没有完全改完,仅做参考。

前面有写怎么导入一个CCES工程,就不多说,先导入,看下图:

在这里插入图片描述

我们先点System.svc,把21569的外存给禁用掉。

在这里插入图片描述

1.点System.svc;
2.选择Startup Code/LDF;
3.点LDF;
4.把这个Use external…的√点掉,这样就意思我不用外存了。

再把工程属性改成21565:

在这里插入图片描述

在这里插入图片描述

把工程属性改成21565之后,再去工程里改一个参数:(注意我这个修改都是我自己的想法,可能改的并不对,或者说不完全对,仅做参考,兄弟们可以把这个工程研究透了后自己改)

在这里插入图片描述

上面这个app.ldf就是管内存分配的,我是这么考虑的,既然21569和21565的差别就在内存,那我就改内存,把一切569用外存的,都给他指到内存里来,是不是就可以了。

红框里的就是我指的,把mem_L2_bw改成0x200b9fff,暂时就改了着一个地方。

保存工程后,先010编译一下:

在这里插入图片描述

在DEBUG文件夹里,我通过编译这个工程生成了最新的符合这个工程的DXE,这个是后面要用到。

在这里插入图片描述

文件更新时间就是我此刻的时间,就说明我的dxe是生成成功了。

下一步就可以运行工程了:

在这里插入图片描述

在这里插入图片描述

具体操作我就不多说了,之前的文档有写,我就说一下注意事项:

1.注意我用的是ICE-2000,所以我的session选的就是ICE-2000;
2.DXE注意别弄错了,可以手动选择咱们刚才生成的dxe;

然后Debug:

在这里插入图片描述

点运行后,Console这里不会有任何多的打印。

在这里插入图片描述

以上,FW就在21565上运行起来了。

再一次特别注意,这个FW是我自己改的,就改了这些地方,我觉得可能是不够的,写出来也是抛砖引玉,既然ADI没有提供现成的,还是得需要兄弟们自己整了。

SS的配置和开发

FW运行起来之后,就可以做SS的开发了,这个时候我们可以把USBi仿真器接PC了。

在这里插入图片描述

打开测试工程:

在这里插入图片描述

在这里插入图片描述

我们先做DXE的配置:

在这里插入图片描述

调出这个界面后,从1这里点选择DXE,就选择我们在FW修改完后,010出来的DXE:

在这里插入图片描述

在这里插入图片描述

这就表示加载完了,看路径确认一下,就是我们在Debug文件夹里得到的DXE。

再回到程序界面:

在这里插入图片描述

程序很简单,我选了一个白噪声的模块,然后接0/1输出,就是DSP自发生一个白噪声,通过板子的DA后,输出给0/1接口,通过耳机听到这个白噪声。

在线下载程序:

在这里插入图片描述

需要等个10几秒,然后就会出现下图:

在这里插入图片描述

就表示下载成功了,我们再打开白噪声开关,让DSP开始产生白噪声:

在这里插入图片描述

此刻我们通过耳机就能听到来自DSP给出的白噪声了。

在这里插入图片描述

后记

特别强调,这个FW并没有改完全,所以目前是能用DSP自发生后DA输出,这个通道是打通了,但模拟音频AD进DSP,这个通道没有打通,所以暂时还无法实现在SS里,模拟音频输入,经过DSP后,DA输出的功能,我们还在继续改,也许下一版的FW就可以实现了,这个详解就是抛砖引玉,兄弟们自己改也能有个参考。

http://www.dtcms.com/a/303741.html

相关文章:

  • Linux 完整删除 Systemd 服务的步骤
  • 递归、搜索与回溯算法核心思想解析
  • Agent常用搜索引擎Tavily使用学习
  • linux中简易云盘系统项目实战:基于 TCP协议的 Socket 通信、json数据交换、MD5文件区别与多用户文件管理实现
  • 配置daemon.json使得 Docker 容器能够使用服务器GPU【验证成功】
  • 界面控件Telerik UI for WPF 2025 Q2亮点 - 重要组件全新升级
  • 「源力觉醒 创作者计划」_文心大模型 4.5 多模态实测:开源加速 AI 普惠落地
  • VUE -- 基础知识讲解(一)
  • 从字符串中“薅出”最长子串:LeetCode 340 Swift 解法全解析
  • 分布式链路追踪详解
  • 如何用USRP捕获手机信号波形(中)手机/基站通信
  • Java面试宝典:MySQL8新特性底层原理
  • 设计模式:状态模式 State
  • 【Redis实现基础的分布式锁及Lua脚本说明】
  • 【CAN总线】STM32 的 CAN 总线通信开发笔记(基于 HAL)
  • Spring Boot 自动配置:从 2.x 到 3.x 的进化之路
  • Python 程序设计讲义(28):字符串的用法——格式化字符串
  • 【C++】第十九节—一文万字详解 | AVL树实现
  • Go进阶:流程控制(if/for/switch)与数组切片
  • adb reboot 与 adb shell svc power reboot 的区别
  • 爬虫自动化:一文掌握 PyAutoGUI 的详细使用
  • 【RH134 问答题】第 9 章 访问网络附加存储
  • 智能制造的空间度量:机器视觉标定技术解析
  • 数据结构【红黑树】
  • 架构实战——互联网架构模板(“用户层”和“业务层”技术)
  • MySql插入中文生僻字/Emoji报错django.db.utils.DataError: (1366, “Incorrect string value
  • 14、distance_object_model_3d算子
  • Web3 网络安全漏洞的预防措施
  • 解决IDEA拉取GitLab项目报错:必须为访问令牌授予作用域[api, read user]
  • 风口还是伪命题?AI + Web3 赛道价值何在?