VSCode 开发 STM32 的 Keil工程 (Keil Assistant)

VSCode 开发 STM32 的 Keil工程 (Keil Assistant + STM32CubeIDE for Visual Studio Code

Chapter 1 VSCode 开发 STM32 的 Keil工程 (Keil Assistant + STM32CubeIDE for Visual Studio Code )

原文链接:https://blog.csdn.net/qq_49053936/article/details/160825894

目前大多数 STM32 项目仍以 Keil MDK 工程为主,但 Keil 的编辑器功能较弱、界面陈旧。 芯片与处理器

本篇教程将示范如何在 VSCode 中安装、使用 Keil Assistant 插件,无缝集成 Keil MDK 的编译与烧录功能,同时享受 VSCode 强大的编辑体验。

一、准备工作

本方法依赖已安装好的 VSCode、Keil。

1、VSCode

安装官方 VSCode 即可。

插件及参数配置,将在下文图解。

若未安装VSCode, 可参考:【 VSCode 安装教程 】

2、Keil MDK

请确保已安装 Keil MDK (建议v5 以上)及对应的芯片支持包。

保证在 Keil 中可正常编译、烧录你的 STM32 工程。

二、安装 Keil Assistant 和 STM32CubeIDE for Visual Studio Code插件

插件 Keil Assistant 的设计理念非常纯粹: 软件

"既然Keil MDK的编辑功能不好用,那我就用VSCode来取代它"。

它充当 VSCode 与 Keil MDK 之间的桥梁,通过调用 Keil 的命令行接口实现编译、烧录,因此编辑使用 VSCode,后端仍依赖 Keil。

1、安装插件 Keil Assistant 和 STM32CubeIDE for Visual Studio Code

点击 VSCode 左侧活动栏的【扩展】

搜索:Keil Assistant

点击:【安装】,安装完成后如弹出信任提示窗口,请选择【信任】

2、配置 keil MDK 可执行文件路径 开发工具

最左下角:【齿轮】>> 【设置】

​在搜索框输入:Keil

在扩展列表中找到:Keil Assistant

在 Keil Assistant MDK 的输入框中填写:keil 的 UV4.exe 完整路径

典型路径示例:D:\Keil_v5\UV4\UV4.exe (请以你的实际路径为准)

安装完成后,资源管理器左侧出现面板:KEIL UVISION PROJECT (如下图)

三、加载 Keil 工程

1、打开工程文件

资源管理器栏中,展开 KEIL UVISION PROJECT 左边箭头, 点击右侧的【彩色加号】按钮在弹出的文件选择窗口中,选择您的 Keil 工程文件 ( .uvprojx 或 .uvproj )。

2、弹窗:切换空间

右下角弹出提示:"keil 工程加载完成,是否切换到工作空间?", 点击:【OK】

3、弹窗:信任文件作者

若有弹窗提醒:"是否信任文件作者?",点击:【是】

4、加载完成后的状态

资源管理栏变化如下图:

【KEIL UVISION PROJECT 】 下方会显示您的工程名称,展开可看到工程分组及源文件

附带的【MDK-ARM】面板无需关注,可以折叠起来。

5、工程展开后的分组及源文件

四、解决中文乱码

Keil 默认使用 GB2312(或 GBK)编码,而 VSCode 默认 UTF-8,导致打开含中文的源文件时出现乱码。 开发工具

不建议 修改 VSCode 全局默认编码为 GB2312,以免影响其他项目。

不建议 使用Change String Encoding 等插件转换文件编码,容易引发不可逆的问题。

这里提供两种解决方案,您可以根据自己的情况选择。

方案一:开启 VSCode 自动编码猜测(推荐!一次设置,长期有效,适合所有文件)

这是最省心的方法,开启后,VSCode 会尝试自动匹配文件的原始编码,大部分情况下能直接解决乱码。

点击左下角 【齿轮图标】>> 【设置】。

在搜索框中输入: encoding

勾选 :"Files: Auto Guess Encoding"。

关闭乱码的文件,重新打开文件,乱码消失。

方案二:手动调整编码(按需修复单个文件)

打开乱码的文件

点击 VSCode 右下角状态栏的编码按钮(通常显示 "UTF-8")

在弹出的菜单中,点击第一项 【通过编码重新打开】

在列表中搜索、选择: Simplified Chinese (GB2312)

文件中的中文立即恢复正常,且不影响其它文件

五、编译与烧录

鼠标 悬停 或 点击 项目名称时,右侧出现 三个按钮:编译、烧录、重新编译。(如下图) 编程

1、编译

点击【编译】按钮,Keil Assistant 将自动调用 keil 命令进行编译,并实时在信息栏显示进度与输出信息。

2、烧录

重要:Keil Assistant 不能直接配置仿真器(STLink、JLink、DAPLink 等),所以烧录参数均 继承自 Keil 工程。 开发工具

点击【烧录】按钮时,插件会使用您在 Keil 工程中最后保存的仿真器配置和烧录算法。

六、常见问题

Q1:点击 编译/烧录 按钮没有反应,或者提示找不到 UV4.exe?

A:请检查 Keil Assistant 插件设置中的 keil-assistant.uv4Path 是否正确指向您电脑上的 UV4.exe

Q2:编译成功但烧录失败,提示"No Debugger Connected"? 编程

A:请在 Keil 中打开工程,确认仿真器驱动安装正确,并且在【Debug 】选项卡中选择了正确的调试器(如 ST-Link、JLink)。

Q3:工程中使用了中文文件名或路径,编译报错?

A:Keil 命令行对非 ASCII 字符支持不佳,请将工程移到纯英文路径下,并避免中文文件名。

Q4:Keil Assistant 是否支持调试(单步、断点)?

A:不支持。该插件仅实现编译、重新编译、烧录。如需调试,可配合 Cortex-Debug 等插件 + OpenOCD 独立配置,需要自行编写配置文件(如 .vscode/launch.json)。

相关推荐
三块石头1011 小时前
车载ADC避坑:为什么ADC采集值偏低?
经验分享·stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程
糖糖单片机设计2 小时前
基于 STM32 的智能净水器系统
stm32·单片机·嵌入式硬件
zcmodeltech2 小时前
火电厂模型能演示冷态启动和故障处理吗?——基于STM32与Modbus RTU的集控实训控制系统设计
数据结构·stm32·单片机·嵌入式硬件·能源
晴天162 小时前
VSCodium 项目介绍
前端·javascript·vscode
桀人2 小时前
STM32之GPIO四种输出模式——P-MOS和N-MOS管的工作原理——双二极管钳位保护电路——上拉电阻
stm32·单片机·嵌入式硬件
LCG元3 小时前
STM32F407 I2S驱动WM8978音频播放实战:PLLI2S时钟整定、DMA双缓冲防爆音与WAV采样率实测
stm32·嵌入式硬件·音视频
fhq_fn_jgd3 小时前
51单片机(中断,定时器)
stm32·单片机·嵌入式硬件
zhangzhangkeji4 小时前
stm32 笔记 - 2:库函数方式的初始化,项目的文件结构
stm32·arm
云泽8084 小时前
STM32 USART 详解(六):HAL库初始化及阻塞式收发源码拆解
stm32·单片机·嵌入式硬件