0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MCUXpresso IDE在Flash调试的注意事项

454398 来源:alpha007 作者:alpha007 2022-12-23 13:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 MCUXpresso IDE 下使用 J-Link 下载算法在 Flash 调试注意事项。

介绍一下如何使用新生成的 flash 算法文件配合 J-Link 调试器在 MCUXpresso IDE 下 XIP 调试(基于 i.MXRT500)。

1、准备测试环境

首先需要准备好测试环境,包含必要的软件和硬件,痞子衡的环境如下:

集成开发环境:MCUXpresso IDE v11.2.0_4120

软件开发包:SDK_2.8.0_EVK-MIMXRT595_PRC(Toolchain 需包含 MCUXpresso IDE)

软件驱动:J-Link driver v6.72b

硬件工具:J-Link Plus 调试器

硬件开发板:MIMXRT595-EVK (Rev.C1)

其中集成开发环境和软件开发包需要有如下版本对应关系,因为 MCUXpresso IDE 是恩智浦基于 GCC 和 Eclipse 而设计的免费 IDE,而且主要是为恩智浦 MCU 设计的,所以跟恩智浦 MCU SDK 包有一定的捆绑关系。

2、新生成 flash 算法

我们测试的板卡是 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 算法文件)。

算法源工程:https://github.com/JayHeng/imxrt-tool-flash-algo/tree/master/boards/nxp_evkmimxrt595_rev.a-c/flash_algo_b0_silicon/Keil_JLink

有了新 flash 算法文件,将其放到 /SEGGER/JLink_V672b/Devices/NXP/iMXRT5xx 路径下,为了跟默认 flash 算法区分开来,可以将其重新命名为 MIMXRT5XX_FLEXSPI_IS25WP064.FLM,顺便更新 JLinkDevices.xml 文件。

将板卡供电,连上 Jlink 调试器,使用 JlinkCommander 的 loadbin 命令试一下新 flash 算法是否有效,在确保新 flash 算法没问题时再进入 IDE 调试。

3、进入 MCUXpresso IDE 调试

3.1 导入 SDK 及打开示例工程

打开 MCUXpresso IDE,默认 Installed SDKs 界面框里没有 RT500,我们直接将下载好的 SDK_2.8.0_EVK-MIMXRT595_PRC.zip 包拖到 Installed SDKs 界面框中即可。

这时候 Installed SDKs 界面框里可以看到 RT500,选中它然后继续操作来导入 example,我们就选 demo_apps 下的 hello_world 例程,编译这个工程确保没问题。

3.2 更新 J-Link Server 路径

在安装 MCUXpresso IDE 时会同时安装一个默认 Jlink 驱动(一般路径在 C:/Program Files (x86)/SEGGER/JLink),这个驱动版本不一定新,MCUXpresso 会默认调用这个驱动,但很多时候我们都是手动安装新 Jlink 驱动来使用的(痞子衡装在了 C:/tools_mcu/SEGGER/JLink_V672b),前面我们新生成的 flash 算法也是放在手动安装的 Jlink 驱动目录下的,因此我们需要在 MCUXpresso 里重设 J-Link Server 路径,指向手动安装的 Jlink 驱动。

3.3 借助 J-Link 在线调试

看起来一切就绪了,让我们开始在 flash 调试吧,点击 Debug 按钮,会看到 MCUXpresso 弹出了调试器类型选择,并且识别到了我们连接的 J-Link,点击 OK 确认。

如果出现下载失败,需要查看一下自动生成的 jlink 的 .launch 文件里的设置,尤其是下面的 Device 设置,要确保与前面更新的 JLinkDevices.xml 文件里改动的脚本代码里 Name 一栏相一致。

这时候可以看到 MCUXpresso 调用了 J-Link 驱动完成了代码烧写(这时候去读 flash,里面的内容是烧录正确的),但是界面并没有停在 main 函数里,并且没法单步调试,这是为什么?

3.4 满足 MCUXpresso 调试流程

然后痞子衡去咨询了 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 调试注意事项痞子衡便介绍完毕了,掌声在哪里~~~

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    19232

    浏览量

    405182
  • FlaSh
    +关注

    关注

    10

    文章

    1762

    浏览量

    156113
  • 调试
    +关注

    关注

    7

    文章

    655

    浏览量

    36058
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析Renesas E1/E20模拟器:功能、使用与注意事项

    深入解析Renesas E1/E20模拟器:功能、使用与注意事项 嵌入式系统开发中,模拟器是不可或缺的工具,它能有效辅助工程师进行调试和开发工作。今天我们就来详细探讨Renesas E1/E20
    的头像 发表于 04-13 15:30 281次阅读

    CW32F030 FLASH 存储器的注意事项

    注意事项 为正确操作 FLASH 和提高 FLASH 的访问效率及使用寿命,用户在编程应用时需要注意以下事项: •地址对齐要求地址边界对齐
    发表于 01-12 06:26

    请问CW32F030的硬件注意事项有哪些?

    CW32F030的硬件注意事项有哪些
    发表于 12-25 08:20

    请问IAP功能升级流程中有哪些注意事项

    IAP 功能升级流程中有哪些注意事项
    发表于 12-23 07:55

    BNC转接头接线注意事项

    本文从工程角度总结BNC转接头接线过程中的关键注意事项,涵盖阻抗匹配、接线规范、工艺选择及检测要点,帮助用户避免常见接线问题。
    的头像 发表于 12-19 14:04 719次阅读
    BNC转接头接线<b class='flag-5'>注意事项</b>

    迅为RK3588开发板Android系统烧写及注意事项

    迅为RK3588开发板Android系统烧写及注意事项
    的头像 发表于 12-03 15:17 7541次阅读
    迅为RK3588开发板Android系统烧写及<b class='flag-5'>注意事项</b>

    驱动板PCB布线的注意事项

    PCB Layout 注意事项 1)布局注意事项: ●● 整体布局遵循功率回路与小信号控制回路分开布局原则,功率部分和控制部分的 GND 分开回流到输入 GND。 ●● 芯片的放置方向优先考虑驱动
    发表于 12-02 07:40

    Enclustra瑞苏盈科产品使用注意事项

    我们准备了关于瑞苏盈科产品使用的注意事项,旨在帮助客户更快,更好的使用瑞苏盈科的产品,实现以最小化的成本提供理想的解决方案,帮助客户打造独树一帜的产品并减少上市时间。瑞苏盈科核心板使用注意事项:电子
    的头像 发表于 11-28 10:28 893次阅读
    Enclustra瑞苏盈科产品使用<b class='flag-5'>注意事项</b>

    CW32F030使用中的注意事项有哪些?

    CW32F030使用中的注意事项有哪些?
    发表于 11-18 06:20

    信号调理设备的接地和环境适配有哪些注意事项

    信号调理设备的接地和环境适配,核心是“阻断干扰传导、适应场景特性”—— 接地不当会引入电磁干扰,环境适配不足会导致器件参数漂移,两者都会直接破坏暂态信号的完整性,让分辨率提升失效。具体注意事项
    的头像 发表于 11-14 16:15 4055次阅读
    信号调理设备的接地和环境适配有哪些<b class='flag-5'>注意事项</b>?

    emWin AppWizard 开发注意事项有哪些?

    emWin AppWizard 开发注意事项
    发表于 09-04 06:18

    CS SD NAND AI领域的应用和注意事项

    。今天跟大家聊聊这个,以及实际应用有哪些注意事项。 1,为什么会选择CS SD NAND? 首先是容量适中,覆盖多种需求,传统 NOR Flash 容量较小,而 eMMC 容量又偏大且成本较高
    的头像 发表于 08-15 17:56 972次阅读

    别让这些细节毁了PCBA!焊接注意事项清单

    一站式PCBA加工厂家今天为大家讲讲PCBA加工中电子元器件焊接注意事项有哪些?PCBA加工中电子元器件焊接注意事项。 电子元器件焊接关键注意事项 PCBA加工中,焊接工艺直接影响电
    的头像 发表于 07-23 09:26 1601次阅读

    智多晶PLL使用注意事项

    FPGA设计中,PLL(锁相环)模块作为核心时钟管理单元,通过灵活的倍频、分频和相位调整功能,为系统提供多路高精度时钟信号。它不仅解决了时序同步问题,还能有效消除时钟偏移,提升系统稳定性。本文将深入探讨智多晶PLL实际应用中的关键
    的头像 发表于 06-13 16:37 1851次阅读
    智多晶PLL使用<b class='flag-5'>注意事项</b>

    CCG2 type-c to DP layout时的注意事项是什么,差分线阻抗多少欧?

    我想问下CCG2type-c to DP layout时的注意事项是什么,差分线阻抗多少欧。
    发表于 05-30 07:23