news 2026/7/13 14:04:44

基于VScode与Embedded IDE搭建MSPM0 (天猛星MSPM0G3507)开发环境

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于VScode与Embedded IDE搭建MSPM0 (天猛星MSPM0G3507)开发环境

1.引言

最近电赛将至,MSPM0逐渐进入开发阶段,传统的keil界面过于复古,代码量增加后,keil的启动时间也会大幅延长,且代码管理也不方便。由此,VScode搭配Embedded IDE(以下简称EIDE)插件可以有效的改善问题,节约程序仔的头发。同时VScode的补全代码功能也让人眼前一亮,对比keil老态臃肿的代码补全和代码改错,VScode显然更适合于现代嵌入式开发的工作流。

目录

1.引言

2. 基础环境搭建

2.1 VScode的下载以及安装

2.2 Embedded IDE的下载

2.3编译链以及烧录器的准备

2.3.1编译链下载以及配置

2.3.2 烧录器(openOCD)的下载与配置

2.3.3 J-Link的下载

3. 环境的配置与完善

3.1 VScode的插件

3.2 EIDE配置

3.3 Keil项目的创建

3.3.1 创建Keil项目

3.3.2 使用sysconfig配置生成头文件

3.3.3 配置Keil的选项卡

3.4 EIDE 导入工程

3.5 EIDE 的项目设置

4.代码编写以及测试

4.1 代码的编写

4.2 代码编译以及烧录

5.结语


2. 基础环境搭建

2.1 VScode的下载以及安装

VScode推荐从官网获取(VScode官网),Windows用户根据自己的电脑系统下载安装包,一路next就可以,这里不做赘述。

2.2 Embedded IDE的下载

EIDE是VScode的插件,同时按下Ctrl+shift+X进入VScode的插件市场,搜索栏搜索embedded ide 可以直接搜出来,界面如下图:

下载完成后,先放置在一边。进入下一步。

2.3编译链以及烧录器的准备

2.3.1编译链下载以及配置

ARM内核的单片机,例如,STM32、MSPM0、ESP32、AT32等,都需要arm-none-eabi的编译链,这是专门针对于嵌入式内核的编译器,单片机缺乏电脑CPU的性能和部分硬件,所以,只能使用专用的编译工具链,也推荐大家前往官网下载(ARM官网)。下载最新版本的即可。这里要注意下载的安装包是不是符合要求,笔者的电脑系统是AMD64,下载如图所示文件:

注意,不要现在前四个文件,aarch64是树莓派等单片机使用的,不适用于STM32,MSPM0。

下载安装后,查找目录,可以找到如图所示的文件结构:

这里,复制一下图中bin文件夹的路径,来配置环境,打开系统->高级系统设置->环境变量

在系统变量中找到path,点开后新建一个路径,输入之前的bin文件夹路径,注意!不要有双引号!配置界面如图所示,笔者同时有开发树莓派的要求,所以,同时配置了aarch64。

接着,WIN+R,输入cmd,调出命令行终端,输入:

arm-none-eabi-gcc --version

就会输出版本信息等,效果如图:

这里ARM的编译链就完成了,我们进入下一步,配置烧录器。

2.3.2 烧录器(openOCD)的下载与配置

只编译还不够,接下来要有烧录器,openOCD解决了多个芯片之前烧录要一直切换的痛点,他作为开源的烧录器,使用范围很广,使用也很便捷,但是官网下载速度很慢,所以这里留下两个超链接一个是官网,一个是百度网盘,大家可以自己选择。

官网 百度网盘

如果网盘失效,请联系笔者。

下载完成后,会出现如图的文件结构,同样复制bin文件夹的路径,进行环境配置。

同样的步骤,将目录添加到path变量中:

结束后,WIN+R输入cmd打开命令终端,输入:

openocd --version

可以看到输出版本信息就对了,界面如下图:

如果有makefile系统的需求可以下载MINGW64步骤是一样的。配置好后界面如图所示:

代码为:

mingw32-make --version

2.3.3 J-Link的下载

嘉立创附赠的烧录器为国产仿制开源版本的J-LinkOB。固件版本是V7.0.0,然而J-link自V7.6+就开始了仿制品的检测,所以,J-Link的版本不宜过高,笔者使用的是J-Link8.18,使用9.58的过程中发现,J-Link会出现无法烧录的情况,大家可以下载7.7或者7.89之类的版本,会更稳定,注意,不要下载过低的版本,烧录 MSPM0 必须 J-Link 软件包 ≥ V7.68b才内置 MSPM0 芯片支持列表。这个列表之后会用到。这里建议大家前往官网下载(J-Link)。

截至目前,环境基本就搭载好了,我们进入下面的环境配置。

3. 环境的配置与完善

3.1 VScode的插件

VScode本身并不集成需要的编译器等,它作为一个轻量化的,可拓展的IDE使用,它的功能依靠更多的插件来实现。这也是它强大的原因。

需要的插件有:

CHINESE(汉化界面)

C/C++ Extension Pack(提供四个C/C++所需要插件一键配置好)

Cortex-Debug(提供ARM调试界面)

Embedded IDE(前文已经下载过,不做赘述)

大家根据自己的需要也可以下载git相关插件,便于代码管理。

3.2 EIDE配置

EIDE本身没有集成,其通过与keil的通信实现,所以,接下来配置EIDE。打开侧边栏的EIDE,收起项目就可以看见设置,如下图:

打开设置后,可以看到一堆路径。图中标注的均需要替换:

解释:

EIDE.ARM.ARMCC5:对应keil_arm 安装目录中的ARMCC文件夹

EIDE.ARM.ARMCC6:对应keil_arm安装目录下的ARMCLANG文件夹

EIDE.ARM.GCC:对应arm-none-eabi的安装目录

EIDE.ARM.INI:对应keil-arm的UV4.exe的目录

EIDE.C51.INI:对应keil-c51的UV4.exe的目录(可不改

EIDE.J Link:J-Link的安装目录

EIDE.Open OCD:OpenOCD的路径,注意是Openocd.exe

配置完成后退出,关闭VScode,打开Keil-arm,创建项目。

3.3 Keil项目的创建

使用keil进行项目的搭建更加方便,EIDE支持直接导入,同时,也为后续VScode出现BUG没法使用做一个备案。首先配置下载好MSPM0SDK和SysConfig,这里可以根据TI的官方文档下载。

笔者同样只提供官网链接。

从SDK的example中打开任意一个项目,前提是选择相应的芯片,具体路径参考:

D:\ti\mspm0_sdk_2_10_00_04\examples\nortos\LP_MSPM0G3507\driverlib\gpio_software_poll

这里,要复制出来两个文件,以后经常用到。

分别为:

startup_mspm0g350x_uvision.s

mspm0g3507.sct

3.3.1 创建Keil项目

紧接着打开Keil,新建一个项目,选择芯片型号,紧接着弹出来的弹窗直接点OK,什么都不需要选择:

接着,新建一个main.c文件不用编写,添加到左边的组中即可。同时复制上文两个文件到文件夹中,添加startup文件进入组中。

3.3.2 使用sysconfig配置生成头文件

打开SysConfig图形化配置界面,这里会生成9个文件。

将这9个文件都保存下来,其中.C文件放在SOC文件夹下,.H放在INC文件夹下,方便管理。

将.c.h.syscfg文件都添加到组中,最后的文件结构如图所示:

同时右击.syscfg文件,选择小魔法棒,更改文件解读方式,否则会报错,如图:

3.3.3 配置Keil的选项卡

按照图中设置,C99标准,C++11标准。

include目录比较特殊,需要大概四个目录。这也是区别于其他芯片的地方。

如图,四个目录分别是

./INC:用户的头文件目录

./CMSIS\CORE\Include:芯片支持核心头文件

./source\ti\driverlib:外设支持

./source:头文件目录

标红的三个目录都在MSPM0 SDK的文件夹中。

整体效果如下,注意第一行的Define以及正下方的warning选项也要更改,否则会包100+个warning

接下来配置debug选项卡

这里选择J-link,点击旁边的setting

注意:连接芯片后重新打开扫描,得到IDCODE就对了,否则无法烧录

选择sw模式连接开发板的接口。

紧接着配置OUTPUT,选择Create HEX_File

再配置linker选项卡,取消Use Memory layout from Target Dialog选项,默认是./Object/xxx.sct

改为我们复制过去的.sct

下面一行,需要一个.a的链接文件,它的目录在sdk的source中,界面如下:

完成后,保存退出。

3.4 EIDE 导入工程

打开VScode,点击侧边栏的EIDE,点击项目,导入项目。上面选择MDK->ARM,选择keil工程文件后,右下角选择继续在本工作区,部分打开后,会出现区域受限,选择信任工作区即可。

3.5 EIDE 的项目设置

选择芯片支持包,点击右边的加号,添加,第一个是网络,第二个是本地,MSPM0线上可能出现下载慢,下载不到的情况,可以在keil官网下载支持包,.pack文件,手动加载。

接下来点开J-Link,并点击芯片名称,将这里改为对应的芯片,如果找不到,就是J_LINK路径配置不对,或者不完整,建议重新下载配置。

完成后就可以编写测试了。

4.代码编写以及测试

4.1 代码的编写

在main.c中写入测试程序:

#include "ti_msp_dl_config.h" void delay_ms(uint32_t ms) { volatile uint32_t cnt; while(ms--) for(cnt=0;cnt<10000;cnt++); } int main(void) { SYSCFG_DL_init(); while(1) { delay_ms(100); DL_GPIO_setPins(LED_PIN_PORT, LED_PIN_LED_PIN_0_PIN); delay_ms(100); DL_GPIO_clearPins(LED_PIN_PORT, LED_PIN_LED_PIN_0_PIN); DL_UART_transmitData(UART0,'a'); DL_UART_transmitData(UART0,'b'); } }

这是一个点灯和串口发送的测试程序,GPIO可以根据自己配置更改,图中对应LED_PIN_PORT等,写完后,按住Ctrl+S保存。

4.2 代码编译以及烧录

点击右上角的构建以及烧录,即可完成代码测试。

构建成功界面

下载成功界面

调试界面

5.结语

篇幅很长,感谢大家阅读完这篇博客。由于篇幅的原因,无法做到面面俱到,如果有出现问题的地方,可以私信我,或者评论留言,后续会为大家解答!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 14:04:41

第十二篇:黑客帝国终章——电子技术思维导图与三电技术进化论

——从硅基芯片到碳化硅革命&#xff0c;构建新能源工程师的“数字母体”开篇&#xff1a;数字世界与物理现实的终极融合 如同Neo在《黑客帝国》结尾看透代码本质&#xff0c;新能源工程师需用电子技术打通三电系统的“虚实边界”&#xff1a; - 技术现状 &#xff1a;电子…

作者头像 李华
网站建设 2026/7/13 14:02:31

终极免费开源图片去重神器:AntiDupl.NET完整实战指南

终极免费开源图片去重神器&#xff1a;AntiDupl.NET完整实战指南 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾因电脑中堆积如山的重复图片而烦恼&#xff1…

作者头像 李华
网站建设 2026/7/13 14:02:15

Anthropic Agent与Skills协同架构设计与工程实践

1. Anthropic Agent与Skills协同架构解析 最近在AI工程领域&#xff0c;Anthropic官方披露的Agent与Skills协同工作机制引起了广泛关注。作为一名长期跟踪AI架构演进的技术从业者&#xff0c;我将结合官方资料和工程实践&#xff0c;深度拆解这套系统的设计哲学与实现细节。 A…

作者头像 李华
网站建设 2026/7/13 14:00:35

194、PCIE覆盖率收集与分析:从一次漏测bug说起

194、PCIE覆盖率收集与分析:从一次漏测bug说起 上个月排查一个诡异问题:设备在连续热插拔第 1024 次时,某个 BAR 空间突然映射失败。查了三天,发现是配置空间里 Multi-Function 设备的 Function ID 翻转时,状态机有个角落条件没覆盖到——仿真阶段根本没测到这个场景。 …

作者头像 李华
网站建设 2026/7/13 13:59:01

抖音批量下载终极指南:如何高效获取无水印视频素材

抖音批量下载终极指南&#xff1a;如何高效获取无水印视频素材 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support.…

作者头像 李华
网站建设 2026/7/13 13:57:59

MP2672A芯片与STM32F091RC在电池管理系统中的设计与优化

1. MP2672A芯片深度解析与选型考量MP2672A作为MPS公司专为双节串联锂离子电池设计的开关充电器IC&#xff0c;其核心价值在于将NVDC电源路径管理、电池平衡功能和灵活配置模式集成在单芯片方案中。我在多个电动工具电池管理项目中验证过&#xff0c;这款芯片能显著简化设计复杂…

作者头像 李华