你们好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给你们介绍的是MCUXpresso IDE下使用J-Link下载算法在Flash调试注意事项。html
痞子衡前段时间写过一篇小文《为i.MXRT设计更新Segger J-Link Flash下载算法文件》,介绍了痞子衡在github上的开源i.MXRT下载算法项目,这个项目收集了几乎全部i.MXRT型号的J-Link flash下载算法源工程,基于这个源工程能够很轻松修改生成不一样flash的算法文件用于各大IDE以及J-Flash。今天痞子衡就来介绍一下如何使用新生成的flash算法文件配合J-Link调试器在MCUXpresso IDE下XIP调试(基于i.MXRT500)。git
首先须要准备好测试环境,包含必要的软件和硬件,痞子衡的环境以下:github
其中集成开发环境和软件开发包须要有以下版本对应关系,由于MCUXpresso IDE是恩智浦基于GCC和Eclipse而设计的免费IDE,并且主要是为恩智浦MCU设计的,因此跟恩智浦MCU SDK包有必定的捆绑关系。算法
咱们测试的板卡是MIMXRT595-EVK (Rev.C1),这个板卡默认是在FlexSPI0上链接的八线Flash(MX25UM51345),J-Link驱动里若是支持i.MXRT500的话默认flash算法也是这个八线flash,为了测试新生成的flash算法,咱们将板卡rework一下,FlexSPI0链接到四线Flash(IS25WP064)。微信
咱们如今须要为这个四线Flash(IS25WP064)作一个新flash算法,打开痞子衡的github开源项目以下源工程,确保工程添加的is25wp064相关的源文件,而后编译生成新的MIMXRT5XX_FLEXSPI.FLM(即flash算法文件)。app
有了新flash算法文件,将其放到 \SEGGER\JLink_V672b\Devices\NXP\iMXRT5xx 路径下,为了跟默认flash算法区分开来,能够将其从新命名为MIMXRT5XX_FLEXSPI_IS25WP064.FLM,顺便更新JLinkDevices.xml文件。ide
将板卡供电,连上Jlink调试器,使用JlinkCommander的loadbin命令试一下新flash算法是否有效,在确保新flash算法没问题时再进入IDE调试。函数
打开MCUXpresso IDE,默认Installed SDKs界面框里没有RT500,咱们直接将下载好的SDK_2.8.0_EVK-MIMXRT595_PRC.zip包拖到Installed SDKs界面框中便可。工具
这时候Installed SDKs界面框里能够看到RT500,选中它而后继续操做来导入example,咱们就选demo_apps下的hello_world例程,编译这个工程确保没问题。测试
在安装MCUXpresso IDE时会同时安装一个默认Jlink驱动(通常路径在C:\Program Files (x86)\SEGGER\JLink),这个驱动版本不必定新,MCUXpresso会默认调用这个驱动,但不少时候咱们都是手动安装新Jlink驱动来使用的(痞子衡装在了C:\tools_mcu\SEGGER\JLink_V672b),前面咱们新生成的flash算法也是放在手动安装的Jlink驱动目录下的,所以咱们须要在MCUXpresso里重设J-Link Server路径,指向手动安装的Jlink驱动。
看起来一切就绪了,让咱们开始在flash调试吧,点击Debug按钮,会看到MCUXpresso弹出了调试器类型选择,而且识别到了咱们链接的J-Link,点击OK确认。
若是出现下载失败,须要查看一下自动生成的jlink的.launch文件里的设置,尤为是下面的Device设置,要确保与前面更新的JLinkDevices.xml文件里改动的脚本代码里Name一栏相一致。
这时候能够看到MCUXpresso调用了J-Link驱动完成了代码烧写(这时候去读flash,里面的内容是烧录正确的),可是界面并无停在main函数里,而且无法单步调试,这是为何?
而后痞子衡去咨询了MCUXpresso IDE研发团队,得知它默认的调试流程跟通常的通用IDE(Keil,IAR)不太同样,通常的IDE能够直接引导App启动来调试,但MCUXpresso IDE不主动引导App,而是复位后让App天然启动,而后尝试Attach上去接管调试,因此根据这个流程,咱们须要作两点必要的改动:
- 更新flash_config头(将hyper flash配置改成QSPI Flash配置),须要与板卡链接的flash相匹配
- 设置ISP模式为从Flash启动,保证reset以后ROM能引导App从Flash正常启动
改动完以后,咱们终于能够愉快地单步调试了。
至此,MCUXpresso IDE下使用J-Link下载算法在Flash调试注意事项痞子衡便介绍完毕了,掌声在哪里~~~
文章会同时发布到个人 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就能够在手机上第一时间看了哦。