恩智浦的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. 【做题笔记】P2871 [USACO07DEC]手链Charm Bracelet

    就是 01 背包.大意:给您 \(T\) 个空间大小的限制,有 \(M\) 个物品,第 \(i\) 件物品的重量为 \(c_i\) ,价值为 \(w_i\) .要求挑选一些物品,使得总空间不超过 \( ...

  2. Scanner的hasNext()方法

    转自:https://blog.csdn.net/gao_zhennan/article/details/80562548 找到一篇关于hasNext()的常见问题的文章,记录一下

  3. Eclipse配置C++11环境详细介绍

    转:https://blog.csdn.net/wgxh05/article/details/54021049 本文记录Eclipse配置C++11开发所有作者遇到的情况,包括跨工程文件编译,内联文件 ...

  4. springboot笔记-2-.核心的上下文以及配置扫描解析(上)

    前言 上一节中说明了springboot是如何做到自动发现配置的,那么本节看下spring如何创建上下文并解析这些配置,加载我们注册到容器管理中的类.上节已经成功的创建了SpringApplicati ...

  5. idea中的springboot+gradle项目报错springboot configuration annotation processor not found in classpath

    idea中的springboot项目,打开某个类run.halo.app.config.properties.HaloProperties.java,报错(使用gradle编译): springboo ...

  6. centos默认安装mysql的默认密码

    安装centos时选择安装Mysql 服务器 mysql的默认登录密码为空,但是直接登录的时候有报错: [root@localhost bin]# mysql -u root -pEnter pass ...

  7. GIT-maven

     maven 一:什么是maven 1.maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的创建,报告和文档的软件项目管理工具. 2.maven是跨平台的项目管理工具,主要服务于 ...

  8. 「JSOI2015」地铁线路

    「JSOI2015」地铁线路 传送门 第一问很简单:对于每条线路建一个点,然后所有该条线路覆盖的点向它连边,权值为 \(1\) ,然后它向所有线路上的点连边,权值为 \(0\) . 然后,跑一边最短路 ...

  9. Jmeter变量嵌套的方法

    jmeter中变量的嵌套一般有两种方式 1,调用__V函数 { "phone": "${phone}", "xxId": "${_ ...

  10. JVM系列(四)之GC调优

    JVM内存参数调优 为什么要GC调优? 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但当你的系统时常报了内存溢出或者 ...