ADSP-21375的开发详解(二)用Visual DSP++软件来调试程序

硬件准备

ADSP-21375EVB开发板 一块

链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.13.363c74ceu2TmPX&id=692942666361

AD-HP530ICE仿真器 一个

链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-5192690539.11.53fc4901E2z1wN&id=38007242820

软件准备

Visual DSP++5.1.2

跑程序:按键控制 LED 灯

以上全部都OK之后,我们就可以开始跑程序了。(抱歉上面几项写的很罗嗦,都是我 这近 15 年来开发ADI DSP实际项目里碰到问题的经验之谈,希望能够对用户有帮助)

跑程序就涉及到了Visual DSP++软件的操作,我有录制过一个视频教程,是专门讲 VisualDSP++软件的,把这个软件几乎每一个菜单,每一个符号都详细的过了一遍,如果有需要的用户可以参考一下那个视频。

VDSP软件教学视频的优酷链接:https://v.youku.com/v_show/id_XMzE3Nzc5NTY0.html

这里我就简单的列一个基本程序,是如何使用VDSP来跑的。

首先,VDSP不认中文路径,这个非常关键,意味着你必须要把你得程序全部都放在纯英文路径下,否则编译就会出错,完全无法进行程序开发,切记切记!(中文也包含符号,特别注意)

我们来跑一个按键控制灯的程序。程序我放在了D盘根目录底下,有人会说你D盘是“工作”,中文路径,跟上面说的纯英文路径不一致啊。别闹,这个就是纯英文路径。 “.dpj”是你的工程文件,你在VDSP里新建工程也会出现这个,我这里就不新建了,直接调用已经写好的。怎么调用呢?软件里有打开工程的选项,我一般都更直接一些,扯着这个“ADSP21375_PBLED.dpj”直接拽进软件里就好了。

打开这个.c,我们来看看这个程序想干嘛?

结合整个 C 文件里的程序,我们看懂了,总共三个按键,对应前面有三个LED灯,按 下一个按键,对应某一个LED灯亮。

让我们来编译运行,试试看

当程序跑起来之后,我按下KEY1,则LED1亮起;按下KEY2,则LED2亮起,按下KEY3, 则LED3亮起。

至于怎么用 21375 来控制按键点灯,这些个程序上的配置,那就仔细看看整个程序把, 我这里不再多罗嗦了。补充一点,看不懂的,比如这个寄存器为什么这么配,可以直接 vdsp 的 help 里去搜就能搜到啦,VDSP 的help集成了所有有用的资料,非常好用!

特别注意:21375的寄存器详细说明在哪里?写程序一定会遇到配置寄存器的问题,而非常多ADI DSP的新手用户,不光是21375,都会找不到寄存器的详细说明文件。这里统一说一下,所有ADI DSP的寄存器说明,到VDSP的help里去搜!举一个最简单的例子。

BF533的PPI,PPI_CONTROL这个寄存器的详细说明,上哪里去找(21375同理)。

我们打开 Visual DSP++软件,打开帮助。

然后输入你要找的寄存器名称。就会列出所有跟这个寄存器相关的文档,找到 533 的,点开就看到啦。

你会发现你这个寄存器的详细介绍文档是哪个?看左边。

这个文档的名字叫:ADSP-BF533 Hardware Reference…,所以所有的寄存器都在这个文档里进行了详细的说明。

21375也一样,也是在ADSP-21375 Hardware Reference的文档里,如果你嫌麻烦,就在help 里找,如果你想要通读一下,我们也有提供这个文档,打开文档仔细看即可!

跑程序(2):SDRAM 自检

通过对 SDRAM 写入测试数据,读出校验,判断 SDRAM 内存的工作情况。

运行代码,等代码跑完后,会自己停下来,然后我们就可以从内存数据窗口中看到写入的数据。

输入一个地址:0x200000,数据如下:

音频开发: 21375 4in8out(四进8出)

这个程序,我们将会在开发板上实现48Khz或96Khz或192Khz采样率的音频直通程序。原理上来讲,手机或者PC的音源通过1分2音频线接入21375开发板的模拟输入接插件,将模拟音频导入,通过 AD1938 进行模拟转数字,数字音频信号进入 21375数字音频DSP 中,不做任何处理,交给AD1938再进行数字转模拟,将模拟的音频信号送到对应的通道,实现多通道输出。

硬件连接如下图:

为什么输入接 2/3 通道,输出接 6/7通道(通道号在板子的背面的丝印),这是因为程序就是这么写的的,我们来看看程序是怎么写的:

把工程拖入 VDSP 中,编译,运行,手机播放音源,输出到音响听到音乐,完成这个例程。

看看这个程序,代码实现了ADC从IN2进,DAC从OUT4出。至于板子上哪个接口是IN1,哪个是OUT4?请看下图,红色的接插件是输入,2个黑色的接插件是输出:

程序里的IN1是板子物理接口的0/1(板子丝印);

程序里的IN2是板子物理接口的2/3;

程序里的OUT1是板子物理接口的0/1;

程序里的OUT2是板子物理接口的2/3;

程序里的OUT3是板子物理接口的4/5;

程序里的OUT4是板子物理接口的6/7。

这个程序是4进8出的,大家也可以根据程序的通道对应关系,去相应的改插一下其他的接口。

21375的程序汇总

ADI提供了很多SHARC的例程,其中也包括的21375。这些例程序在你的Visual DSP++软件安装目录下,每一个例程都有详细的Readme说明,用户可自行调试做参考。

结束语

时间仓促,先写了个基本文档,后续有更多的例程和代码,请关注我们的网盘链接,每个新增的资料均会在网盘更新。

下个文章,我会写一些Flash Program,看看用21375怎么去实现BOOT。


老式麻将牌收藏价格
使用 iPhone 相機工具來設定你的拍攝