恩智浦的i.MX RT600是跨界处理器产品,同样也是i.MX RTxxx系列的开山之作。不同于i.MX RT1xxx系列单片机,i.MX RT600 采用了双核架构,将新一代Cortex-M33内核与高性能Cadence Tensilica HiFi 4 音频DSP内核相结合,适用于32位沉浸式音频播放和视频用户界面应用。其结构框图如图所示:

i.MX RT600的Cadence Xtensa HiFi 4 Audio DSP 是一个高度优化过的音频处理器,主频高达600MHz,专门为音频信号的编码、解码以及预处理和后处理模块而设计,功能十分强大。本文主要介绍了一套完整的RT600 DSP调试平台的搭建过程。

搭建HiFi4 DSP开发环境

Xtensa Xplorer开发环境是Tensilica公司推出的HiFi DSP开发环境。首先,点击链接:https://tensilicatools.com/download/rt600-download-page/ 访问Tensilica官网。在获取Xtensa Xplorer的安装包之前,需要点击访问页面中右上角的“REGISTER / LOGIN”进行注册,在确认收到邮件并激活后,注册完毕。

接着利用新注册的账号登录后,会看到如下所示的下载界面。点击“XTENSA XPLORER IDE FOR WINDOWS”,在Windows环境下安装编译器Xtensa Xplorer。

安装时需要注意两点:

  1. 注意按照默认推荐路径进行安装,并保留已经选中的复选框。

  2. 目前Xtensa Xplorer,NXP主要支持的版本是V8.0.10版本。

安装完编译器后,下一步点击“CLICK TO GET A LICENSE KEY FOR RT600 SDK”,会有以下界面弹出。

获取License需要填写计算机连接的网络设备的MAC地址。不知道自己计算机网路信息的同学可以打开计算机CMD命令窗口,输入“ipconfig/all”进行查看,找到对应的MAC地址即可。

输入的MAC地址验证通过后,注册邮箱就会收到包含下载链接的一份邮件并进行下载。

下一步,打开安装完毕的Xtensa Xplorer开发环境,然后点击Help->Xplorer License Keys->License Options->Install Software Keys->Browse得到如图所示的界面,选中刚刚下载的license文件,然后点Finish直到安装完毕。

![img](http://q5om7jw8d.bkt.clouddn.com/RT600 Get_5.PNG)

第三步,还是进入之前的下载界面并点击“RT600 BUILD CONFIGURATION WORKSAPCE FOR WINDOWS”。下载完毕后,在Xplorer界面点击File->Import,选择Xtensa Xplorer->Import,然后点击 Xtensa Xplorer Workspace->Next->Browse进行配置。

配置界面中,注意点击将Memory Maps选中,接着点Next,选中nxp_rt600_RI2019_newlib(RI-2019.1)后再点Finish。

最后一步,需要安装Xt-ocd(Xtensa On Chip Debugger Daemon),这是一款十分强大的Debugger工具,支持JLINK对RT600的DSP核进行单步调试。

在Xplorer默认的安装路径下找到:C:\usr\xtensa\XtDevTools\downloads\RI-2019.1\tools\xt-ocd-14.01-windows64-installer.exe,并进行安装。

安装完毕后,在其默认的安装路径下找到C:\Program Files(x86)\Tensilica\Xtensa OCD Daemon 14.0.1\topology.xml文件并进行修改。以文本模式将topology.xml打开后,使用以下这段代码将原来的代码进行覆盖替:

<configuration>

    <controller id='Controller0' module='jlink' usbser='600110607' type='swd' speed='1000000'/>
<driver id='XtensaDriver0' dap='3' xdm-offset='0xc0000' module='xtensa' inst-verify='memretry' step-intr='mask,stepover,setps' /> <chain controller='Controller0'> <tap id='TAP0' irwidth='4' /> </chain> <system module='jtag'> <component id='Component0' tap='TAP0' config='trax' /> </system> <device id='Xtensa0' component='Component0' driver='XtensaDriver0' ap-sel='3' /> <application id='GDBStub' module='gdbstub' port='20000' sys-reset='0'> <target device='Xtensa0' /> </application> </configuration>

由于我们准备使用JLINK调试器对RT600进行debug,因此还需要将这段代码中userber=“600110607”进行修改,才能得到Xt-ocd的支持。找到Jlink调试器背后的9位序列码,对userber内容进行替换并保存。

最后打开一个安装完的Xtensa Xplorer开发环境,导入恩智浦官网SDK中Hello Word DSP demo进行编译,得到如下所示界面。图中红色方框从左到右分别依次是:当前选中的工程(hello word),DSP开发工具链(nxp_rt600_RI2019_newlib(RI-2019.1)),debug/release选择,编译。

至此,通过以上几步安装配置,RT600之DSP调试环境搭建篇介绍完毕。

i.MX RT600之DSP调试环境搭建篇的更多相关文章

  1. i.MX RT600之DSP开发环境调试篇

    i.MX RT600的Cadence Xtensa HiFi 4 Audio DSP 是一个高度优化过的音频处理器,主频高达600MHz,专门为音频信号的编码.解码以及预处理和后处理模块而设计,功能十 ...

  2. Windows下Lua+Redis 断点调试环境搭建==Linux下类似

    Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...

  3. Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建

    Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以 ...

  4. Windebug双机调试环境搭建

    Windebug双机调试环境搭建    开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...

  5. 《天书夜读:从汇编语言到windows内核编程》四 windows内核调试环境搭建

    1) 基础篇是讲理论的,先跳过去,看不到代码运行的效果要去记代码是一个痛苦的事情.这里先跳入探索篇.其实今天的确也很痛苦,这作者对驱动开发的编译与调试环境介绍得太模糊了,我是各种尝试,对这个环境的搭建 ...

  6. HI3518E平台ISP调试环境搭建

    海思的SDK提供了ISP调试的相关工具,降低了IPC的ISP调试的难度.初次搭建ISP调试环境,记录一下. SDK版本:Hi3518_MPP_V1.0.A.0 硬件平台:HI3518E_OV9732 ...

  7. arm64 调试环境搭建及 ROP 实战

    前言 比赛的一个 arm 64 位的 pwn 题,通过这个题实践了 arm 64 下的 rop 以及调试环境搭建的方式. 题目文件 https://gitee.com/hac425/blog_data ...

  8. 一步一步 Pwn RouterOS之调试环境搭建&&漏洞分析&&poc

    前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文分析 Vault 7 中泄露的 RouterOs 漏洞.漏洞影 ...

  9. eos源码分析和应用(一)调试环境搭建

    转载自 http://www.limerence2017.com/2018/09/02/eos1/#more eos基于区块链技术实现的开源引擎,开发人员可以基于该引擎开发DAPP(分布式应用).下面 ...

随机推荐

  1. 类扩展欧几里得 zquoj 26659

    求该式子,因为只有里面mod  外面没mod: 所以先是把前面的等差数列求和,然后再减去模掉的部分: 这是类欧几里得模板题 #include<bits/stdc++.h> #define ...

  2. [NLP]Transformer模型解析

    简介[2] Attention Is All You Need是2017年google提出来的一篇论文,论文里提出了一个新的模型,叫Transformer,这个结构广泛应用于NLP各大领域,是目前比较 ...

  3. [lua]紫猫lua教程-命令宝典-L1-01-02. 变量

    L1[变量]01. 变量命名规则 命名规则:数字字母下划线构成 但是不能数字开头 不推荐中文名 很多都是不支持中文 但是在一些其他的编辑器里面 比如触摸精灵 之类的 就可以 注意 :变量命名必须要包含 ...

  4. json字符串和表相互转化中遇到的一个严重问题

    导致脚本崩溃的一个问题 Import "zm.luae" zm.Init Dim aaa="fdsf23423dsfsdf" dim 结果表=Encode.Js ...

  5. mtrace 简介

    内存泄露问题一般会再长时间运行的程序中暴露出来.而且一般很难定位和查找. linux 提供mtrace/muntrace来检测程序是否有内存泄露.一般来说要检测哪一段代码是否有内存泄露,就可以用这一对 ...

  6. tp5 rewrite nginx 配置

    今天弄了个别人的项目,用的tp5,正好前段时间学tp5了,可是人家竟然用了rewrite,我没学过啊,放在nginx ,全是404,真尴尬 其实很简单,在配置文件里面添加一小段代码就ok了 时间紧张直 ...

  7. js判断是横屏还是竖屏

    1通过在html中分别引用横屏和竖屏的样式: <link rel="stylesheet" media="all and (orientation:portrait ...

  8. 用xshell连接VMware虚拟机中安装的Centos7系统

    首先要保证你安装的Centos7系统的网路适配器使用的桥接模式,这个模式允许你安装再虚拟机中的Centos系统有一个自己的ip地址. 然后再虚拟机中登录你的Centos系统,用ip addr命令查看你 ...

  9. 【C语言】创建一个函数,并调用比较两个数的大小

    #include <stdio.h> int max(int x,int y) { if(x>=y) return x; else return y; } main() { int ...

  10. 常用工具api等链接

    java技术驿站 http://cmsblogs.com/ WatchMen(守望者成才网) http://www.watchmen.cn/ JAVA知识分享 http://www.java1234. ...