在MCUXpresso for VS Code中调用JLINK Script的三种方法

对于MCU开发者来说,VS Code凭借轻量、跨平台、高可扩展等优势,已经成为日常编码的神器。然而长期以来,很多人只能把VS Code当“编辑器”使用,真正编译、下载、调试MCU代码时,仍不得不切回到Keil、IAR等传统IDE。

好消息是——NXP为VS Code推出的MCUXpresso插件,正在逐步打通MCU开发的完整链路。配合JLINK调试器时,有些特殊场景需要通过JLINK Script去执行定制化操作,而这些脚本又常常不属于JLINK默认逻辑。这就需要开发者手动配置脚本文件的调用方式。

本文将带你快速掌握在MCUXpresso for VS Code中调用JLINK Script的三种方法,包含示例截图与使用提示,帮助你在调试和下载过程中轻松集成自定义操作。

简要回顾

Visual Studio Code(VS Code)是一款由微软开发的源代码编辑器。它支持多种操作系统,如Windows、macOS和Linux。VSCode的编辑器设计得非常精简且强大,同时集成了大量实用功能,使其在性能和易用性上都表现出色。而长期以来开发者很难仅仅使用VSCode来开发MCU,往往是把VSCode当成编辑器使用,写完代码后的编译和下载还要切换到Keil或IAR等IDE。NXP推出了VSCode平台的MCU开发插件,可以很好得解决这个痛点。

在使用JLINK进行开发的过程中,某些情况下需要自定义JLINK执行一些操作,而这些操作可能无法集成到JLINK软件的通用部分。脚本文件语法支持 C 中允许的大多数语句(if-else、while、变量声明等),但不是全部。此外,还有一些特定于脚本文件的语句。脚本文件具有最大的灵活性,因此几乎可以支持任何所需的目标初始化。关于JLINK Script文件基础和在IAR下的调用方法这里不再赘述,可以参考痞子衡大佬的这篇博客https://www.cnblogs.com/henjay724/p/14008691.html本文介绍MCUXpresso for VS Code里,如何调用JLINK Script。

目前有三种方式可以在MCUXpresso for VS Code 里调用JLINK Script。

方法一:

在对应的“Build Configurations”的目录下的.jlink文件里指定”Script File”的路径。这里使用的“Build Configurations”是“flexspi_nor_release”;

5e6a3b44-12ad-11f1-90a1-92fbcf53809c.png

在对应的“JLink_hello_world.jlink”里添加对应的“Script File”路径:

5f38afa6-12ad-11f1-90a1-92fbcf53809c.png

随后在“evkbmimxrt1060_sdram_init.jlinkscript”里添加打印信息“Report("JLINK Script TEST Mode 1 !!!"); ”

在MCUXpresso插件里开始debug:

6005a9de-12ad-11f1-90a1-92fbcf53809c.png

随后便可以在“DEBUG CONSOLE”里看到打印出来的信息,来验证该JLINK Script是否成功被调用:

606432ec-12ad-11f1-90a1-92fbcf53809c.png

方法二:

把“.jlinkscript”放在和“JLink_hello_world.jlink”同一目录下,并和“JLink_hello_world.jlink”命名相同:

60d60598-12ad-11f1-90a1-92fbcf53809c.png

然后在“JLink_hello_world.jlinkscript”里添加打印信息“Report("JLINK Script TEST Mode 2 !!!"); ”

613924fc-12ad-11f1-90a1-92fbcf53809c.png

同样的,debug时可以在“DEBUG CONSOLE”里看到打印出来的信息:

619d2dd0-12ad-11f1-90a1-92fbcf53809c.png

方法三:

仅在下载程序时可用,MCUXpresso for VS Code插件里提供了“Flash Programmer”功能:

62014c8e-12ad-11f1-90a1-92fbcf53809c.png

选择SEGGER:

6268777e-12ad-11f1-90a1-92fbcf53809c.png

随后在“CUSTOM SCRIPT”添加“.jlinkscript”的路径即可:

62ce13f4-12ad-11f1-90a1-92fbcf53809c.png

最后点击“Run”即可下载代码。

但是该方法无法像前两种方法一样,在“DEBUG CONSOLE”中查看Log信息。本质上,该方法和第一种方法是一样的。因为点击“Preview”后,此时插件会自动在当前工程目录下生成一个“script.jlink”文件:

632b792c-12ad-11f1-90a1-92fbcf53809c.png

638283a2-12ad-11f1-90a1-92fbcf53809c.png

63ed17f8-12ad-11f1-90a1-92fbcf53809c.png

最后:哪种方式最推荐?

如果需要调试 + 脚本初始化:

推荐方法一或方法二,都有 Debug Console 输出,方便验证与排错。

如果只需要烧录时跑脚本:

使用方法三更直接。

6451138e-12ad-11f1-90a1-92fbcf53809c.png

随着NXP MCUXpresso VS Code插件持续完善,开发MCU已不必局限于传统IDE。JLINK Script的灵活性更让VS Code的调试能力如虎添翼。在掌握上面三种方法后,你可以更自由地控制调试器流程、初始化硬件、执行定制任务,从而进一步提升开发效率。

Gravatar

About 奥洁自由人

作者文章