i.MX RT600之DSP调试环境搭建篇
恩智浦的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。
安装时需要注意两点:
注意按照默认推荐路径进行安装,并保留已经选中的复选框。
目前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直到安装完毕。

第三步,还是进入之前的下载界面并点击“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调试环境搭建篇的更多相关文章
- i.MX RT600之DSP开发环境调试篇
i.MX RT600的Cadence Xtensa HiFi 4 Audio DSP 是一个高度优化过的音频处理器,主频高达600MHz,专门为音频信号的编码.解码以及预处理和后处理模块而设计,功能十 ...
- Windows下Lua+Redis 断点调试环境搭建==Linux下类似
Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...
- Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建
Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以 ...
- Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- 《天书夜读:从汇编语言到windows内核编程》四 windows内核调试环境搭建
1) 基础篇是讲理论的,先跳过去,看不到代码运行的效果要去记代码是一个痛苦的事情.这里先跳入探索篇.其实今天的确也很痛苦,这作者对驱动开发的编译与调试环境介绍得太模糊了,我是各种尝试,对这个环境的搭建 ...
- HI3518E平台ISP调试环境搭建
海思的SDK提供了ISP调试的相关工具,降低了IPC的ISP调试的难度.初次搭建ISP调试环境,记录一下. SDK版本:Hi3518_MPP_V1.0.A.0 硬件平台:HI3518E_OV9732 ...
- arm64 调试环境搭建及 ROP 实战
前言 比赛的一个 arm 64 位的 pwn 题,通过这个题实践了 arm 64 下的 rop 以及调试环境搭建的方式. 题目文件 https://gitee.com/hac425/blog_data ...
- 一步一步 Pwn RouterOS之调试环境搭建&&漏洞分析&&poc
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文分析 Vault 7 中泄露的 RouterOs 漏洞.漏洞影 ...
- eos源码分析和应用(一)调试环境搭建
转载自 http://www.limerence2017.com/2018/09/02/eos1/#more eos基于区块链技术实现的开源引擎,开发人员可以基于该引擎开发DAPP(分布式应用).下面 ...
随机推荐
- 【做题笔记】P2871 [USACO07DEC]手链Charm Bracelet
就是 01 背包.大意:给您 \(T\) 个空间大小的限制,有 \(M\) 个物品,第 \(i\) 件物品的重量为 \(c_i\) ,价值为 \(w_i\) .要求挑选一些物品,使得总空间不超过 \( ...
- Scanner的hasNext()方法
转自:https://blog.csdn.net/gao_zhennan/article/details/80562548 找到一篇关于hasNext()的常见问题的文章,记录一下
- Eclipse配置C++11环境详细介绍
转:https://blog.csdn.net/wgxh05/article/details/54021049 本文记录Eclipse配置C++11开发所有作者遇到的情况,包括跨工程文件编译,内联文件 ...
- springboot笔记-2-.核心的上下文以及配置扫描解析(上)
前言 上一节中说明了springboot是如何做到自动发现配置的,那么本节看下spring如何创建上下文并解析这些配置,加载我们注册到容器管理中的类.上节已经成功的创建了SpringApplicati ...
- idea中的springboot+gradle项目报错springboot configuration annotation processor not found in classpath
idea中的springboot项目,打开某个类run.halo.app.config.properties.HaloProperties.java,报错(使用gradle编译): springboo ...
- centos默认安装mysql的默认密码
安装centos时选择安装Mysql 服务器 mysql的默认登录密码为空,但是直接登录的时候有报错: [root@localhost bin]# mysql -u root -pEnter pass ...
- GIT-maven
maven 一:什么是maven 1.maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的创建,报告和文档的软件项目管理工具. 2.maven是跨平台的项目管理工具,主要服务于 ...
- 「JSOI2015」地铁线路
「JSOI2015」地铁线路 传送门 第一问很简单:对于每条线路建一个点,然后所有该条线路覆盖的点向它连边,权值为 \(1\) ,然后它向所有线路上的点连边,权值为 \(0\) . 然后,跑一边最短路 ...
- Jmeter变量嵌套的方法
jmeter中变量的嵌套一般有两种方式 1,调用__V函数 { "phone": "${phone}", "xxId": "${_ ...
- JVM系列(四)之GC调优
JVM内存参数调优 为什么要GC调优? 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但当你的系统时常报了内存溢出或者 ...