Keil和VSCode协同开发STM32程序

系列文章

STM32单片机系列专栏

C语言术语和结构总结专栏


文章目录

[1. 配置环境](#1. 配置环境)

[2. 测试打开工程](#2. 测试打开工程)

[3. 测试编译工程](#3. 测试编译工程)


随着项目的复杂度上升,开发者不仅需要强大的硬件支持,还需要一个高效和灵活的开发环境。 vscode是一款集成大量可以便携开发插件的代码编辑器, Keil MDK是常用的嵌入式开发工具,但是其编程界面缺乏功能性。 通过在VSCode中集成Keil的编译和调试功能,可以在享受VSCode现代化代码编辑代码的同时,不失去Keil的硬件调试能力,并且两端的代码可以实时更新。


1. 配置环境

  • 首先是最基本的c语言环境配置,除了需要安装C语言插件,还需要安装Mingw。如果没有搭建C环境,点击链接看一下这篇文章。
  • vscode搭建C/C++环境
  • 如果想判断电脑有没有mingw,参考下面的步骤

打开cmd验证是否安装成功,输入:g++ --version

出现这个就代表电脑已经安装了mingw

  • 配置完成C环境后,也就是vscode中安装了下面三个插件,C/C++,C/C++ Extension Pack,C/C++ Themes,并且安装了mingw。
  • 接着打开vscode,点击左侧的扩展插件(或者按Ctrl+shift+X),打开插件搜索框。搜索Keil Assitant,点击下载并安装
  • 安装完成后,点击 Keil Assitant 的设置,点击扩展设置,在这里需要填写你已经安装好的 Keil 程序的安装路径,因为编译程序其实是 vscode 调用 Keil 的编译功能实现在 VSCOE 上编译工程。

  • 首先在桌面上右键keil,然后打开文件所在位置,找到uv4.exe的文件

  • 接着复制这个地址粘贴到vscode的扩展插件中。

  • 此时keil扩展就完成配置了。

2. 测试打开工程

  • 首先点击左边的资源管理器(Ctrl+shift+E)
  • 在打开的资源管理器中可以看到**KEIL UVISION PROJECT,**并且在右边有一个黄色和绿色的加号,点击这个加号,然后就可以像keil mdk一样,打开工程文件
  • 打开工程文件之后,可以做一个测试,用vscode打开main.c, 接着用keil也打开main.c,在vscode中修改代码后并保存,接着打开keil,会弹出下面的提示框,点击Yes to All,keil即可更新vscode中修改后的代码。

3. 测试编译工程

完成上面的配置和测试后,可以连接单片机,这时在vscode的资源管理器中,可以看到下面的状态。上面有一个打开的工程文件,用于修改代码,在最下面的**KEIL UVISION PROJECT中,**点击Project,在Target的右边可以看到和keil中一样的编译和下载按钮,也就是说除了对于单片机或者基础文件的配置以及设置需要在keil中操作修改,对于代码的修改、编译和下载均可以用vscode实现。

  • 如果vscode出现红色波浪线表示不认识某些库的内容,可以手动include库来解决问题。

  • 如果出现中文乱码,参考下面这篇文章解决。

VScode中文注释乱码的四种解决方案

相关推荐
技术程序猿华锋30 分钟前
深度解码OpenAI的2025野心:Codex重生与GPT-5 APIKey获取调用示例
人工智能·vscode·python·gpt·深度学习·编辑器
源远流长jerry1 小时前
STM32之RTOS移植和使用
stm32·单片机·嵌入式硬件
代码AI弗森3 小时前
从 IDE 到 CLI:AI 编程代理工具全景与落地指南(附对比矩阵与脚本化示例)
ide·人工智能·矩阵
范纹杉想快点毕业8 小时前
ZYNQ PS 端 UART 接收数据数据帧(初学者友好版)嵌入式编程 C语言 c++ 软件开发
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·51单片机
乔宕一9 小时前
stm32 链接脚本没有 .gcc_except_table 段也能支持 C++ 异常
c++·stm32·嵌入式硬件
AI视觉网奇10 小时前
android studio 断点无效
android·ide·android studio
jiaxi的天空10 小时前
android studio gradle 访问不了
android·ide·android studio
AD钙奶-lalala10 小时前
idea新建的项目new 没有java class选项
java·ide·intellij-idea
Thomas_YXQ10 小时前
Unity3D RectTransform.rect属性详解
unity·编辑器·游戏引擎·材质
范纹杉想快点毕业11 小时前
STM32 串口接收数据包(自定义帧头帧尾)
stm32·单片机·嵌入式硬件