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中文注释乱码的四种解决方案

相关推荐
PegasusYu5 小时前
STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
stm32·教程·rtos·stm32cubeide·free-rtos·eventgroup·时间标志组
小江村儿的文杰5 小时前
XCode Build时遇到 .entitlements could not be opened 的问题
ide·macos·ue4·xcode
为什么每天的风都这么大6 小时前
Vscode/Code-server无网环境安装通义灵码
ide·vscode·阿里云·编辑器·ai编程·code-server
ahadee9 小时前
蓝桥杯每日真题 - 第19天
c语言·vscode·算法·蓝桥杯
文弱书生65610 小时前
输出比较简介
stm32
芝麻团坚果12 小时前
对subprocess启动的子进程使用VSCode python debugger
linux·ide·python·subprocess·vscode debugger
写点什么啦12 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
黑客呀12 小时前
[系统安全]Rootkit基础
stm32·单片机·系统安全
小码ssim13 小时前
IDEA使用tips(LTS✍)
java·ide·intellij-idea
小A15913 小时前
STM32完全学习——使用SysTick精确延时(阻塞式)
stm32·嵌入式硬件·学习