VScode+STM32CubeMX开发STM32

本文介绍了如何使用VScode和STM32CubeMX搭建STM32开发环境,包括安装配置VScode、STM32CubeMX、OpenOCD、Git、GNU Arm工具链、MinGW等软件,以及利用STM32CubeMX生成工程框架,通过VScode进行编译、下载和调试。重点讲述了VScode中配置预定义量、文件路径以及使用Cortex-Debug插件进行GDB调试的步骤。
摘要由CSDN通过智能技术生成

VScode+STM32CubeMX开发STM32

前言

​ 之前一直使用的Keil+STM32CubeMX来进行的32程序开发,但是Keil的界面着实不好看,自动补全啥的也不太好使,加上本人喜欢使用UTF-8作为文件编码,而网络上找的大部分例程都是GB2312的编码,转换起来很麻烦,VScode拥有许多插件可以自动进行编码转换,格式化代码,自动补全啥的都不错,之前尝试过使用VScode进行编辑,使用Keil进行编译调试,但是这样的话两个软件切换起来也很麻烦就放弃了,之前的Keil版本还有如果工程路径有中文进入调试后如果没有删除所有断点就退出调试就会出现Keil卡死不动的情况,虽然最新的MDK529解决了这个问题,但是最近也在学习嵌入式Linux,没有IDE可以用,使用的ARM_GCC和Makefile进行程序编译,所以准备STM32的开发也用这种方法,利用ARM_GCC以及VScode进行程序编写和编译,利用OpenOCD和Jlink进行调试。VScode的界面确实漂亮,有很多主题可用,也有很多插件方便开发。

image-20200413214025911

软件准备

  • VScode:官网下载最新版就行。
  • Git:Git是一个分散式版本控制软件,这篇文章不讲他跟版本控制有关的部分,安装Git只是用到他带的Git Bash这个终端。
  • GNU Arm Embedded Toolchain:STM32是ARM内核的芯片,这个交叉编译工具链包含了所有用于交叉编译ARM内核程序的软件,我这里使用的是gcc-arm-none-eabi-9-2019-q4-major-win32.exe这个Windows上的最新版的,如果是在别的系统上搭建只需要选择对应系统版本的即可。
  • MinGW:MinGW是将GCC编译器和GNU Binutils移植到Windows平台下的产物,包括一系列头文件、库和可执行文件。这里选用的是64位版的MinGW,主要使用其中的make工具。
  • OpenOCD:OpenOCD(Open On-Chip Debugger)开源片上调试器,是一款开源软件,最初是由Dominic Rath同学还在大学期间发起的(2005年)项目。OpenOCD旨在提供针对嵌入式设备的调试、系统编程和边界扫描功能。OpenOCD在这里的作用就是连接Jlink,STlink等仿真器进行程序下载或者调试。这里给出的链接是已经预编译好的可执行文件。
  • J-Link Software and Documentation Pack:Jlink的驱动以及各种相关软件,这篇文章里Jlink没有使用OpenOCD进行连接而是使用的JlinkGDBSever和JFlash进行的调试以及程序下载。当然使用OpenOCD也是没有问题的,只是配置文件有一些区别。
  • STM32CubeMX:STM32CubeMX是一个图形化的工具,也是配置和初始化C代码生成器(STM32 configuration and initialization C code generation),也就是自动生成开发初期关于芯片相关的一些初始化代码。简单来说就是通过鼠标点一点来设置各种外设的参数,然后一键生成包含自己设置的这些外设底层驱动的工程框架,STM32CubeMX生成的代码使用的是HAL库。

搭建流程

软件安装及配置

VSCode

​ 正常安装VScode,然后安装一些需要的插件。

​ 在VScode中使用快捷键Ctrl+Shift+P,打开命令面板,接着输入Install Extensions,跳到扩展页面,或者直接鼠标点击左侧活动栏上的扩展图标,接下来输入下面的扩展名称进行搜索然后安装。

  • ARM:使的ARM汇编代码获得语法高亮,这里主要用在启动文件上。
  • C/C++:使VScode获得对C/C++语言的支持,包括智能提示,调试等。
  • Chinese (Simplified) Language Pack for Visual Studio Code:VScode中文语言包。
  • C++ Intellisense:提供C++智能感知功能。
  • Cortex-Debug:对ARM Cortex-M内核的单片机提供调试支持。
  • Cortex-Debug: Device Support Pack - STM32F1(F4,L1):这三个芯片包分别对Cortex-Debug提供三款芯片的设备支持。
  • GBKtoUTF8:因为平时的Keil的STM32工程文件大部分都是GB2312编码的,这个扩展可以自动将GB2312 转换为UTF-8编码。

​ VScode也有丰富的主题可以选用,这里推荐两个主题和一个图标包。

  • Atom One Dark Theme
  • Atom One Light Theme
  • One Dark Pro
  • Material Icon Theme
STM32CubeMX

​ Cube基于Java运行环境,安装前要先安装JRE。安装好Cube后记得安装芯片包。

image-20200414134445536

在Cube主界面按图中顺序点击选择需要的芯片包安装即可。

OpenOCD,GNU Arm Embedded Toolchain, J-Link Software and Documentation Pack

​ Open

### 回答1: VSCodeSTM32CubeMX是两个不同的工具,可以结合使用来进行STM32开发VSCode是一款轻量级的代码编辑器,支持多种编程语言和插件扩展,可以通过安装插件来实现对STM32开发的支持。例如,安装C/C++插件和ARM插件可以实现对STM32的编译、调试和烧录等功能。 STM32CubeMX是一款图形化的STM32配置工具,可以帮助开发者快速生成STM32项目的代码框架和初始化代码。可以通过生成的代码框架和初始化代码来快速开发STM32应用程序。 在使用VSCodeSTM32CubeMX进行STM32开发时,可以先使用STM32CubeMX生成项目代码框架和初始化代码,然后在VSCode中进行代码编写、编译、调试和烧录等操作。通过结合使用这两个工具,可以提高STM32开发的效率和质量。 ### 回答2: VSCodeSTM32CubeMX均是非常实用的开发工具,都有着自己的优点和适用场景。 首先,VSCode作为一款轻量级、高效率的文本编辑器,具有开源、跨平台的优点,适用于各种程序开发的需求,特别是针对C++语言的开发有非常出色的支持,拥有各种功能丰富的插件以及可自定义的配置,使得程序开发更加便捷。 而STM32CubeMX是一款用于STM32系列芯片开发的可视化工具,其可以非常方便地进行代码生成、硬件配置等操作,快速搭建起STM32芯片的开发环境。同时,STM32CubeMX还具有各种功能模块(如对PWM、ADC等的支持),方便用户开发新的项目。 那么,VSCodeSTM32CubeMX结合起来,就可以带来更加高效、便捷的开发体验了。 一方面,VSCode支持各种编程语言的开发,并且作为一个优秀的编辑器,体验也更加流畅。用户可以用VSCode进行STM32CubeMX生成的代码的开发、编译等工作,并同时可以使用丰富的VSCode插件(如Git、IntelliSense等)帮助自己更加高效地开发项目。 另一方面,STM32CubeMX则可以帮助用户极大地降低STM32开发的门槛。通过鼠标点选,硬件配置、代码生成过程可以被轻松地完成,还可以轻松添加和删除硬件功能模块进入项目。在整个开发流程中,STM32CubeMX可以帮助用户大大减少了编码的时间以及代码调试的难度,从而使得整个开发流程更加高效。 总的来说,VSCodeSTM32CubeMXSTM32程序开发中都有着各自独特的优势和作用,搭配使用更是能够带来事半功倍的效果。 ### 回答3: 在进行STM32开发时,选择合适的开发工具和方式是非常重要的。VSCodeSTM32CubeMX都是非常受欢迎的开发工具,但是它们各自有着不同的优势和特点。 VSCode是一款由微软开发的轻量级开源编辑器,它可以支持多种编程语言,包括C/C++。VSCode的优势在于其丰富的插件生态系统和高度的可扩展性。VSCode可以通过安装不同的插件来提升其对不同开发环境的支持,例如C++插件可以提供代码补全、文本高亮、调试工具等功能。同时,VSCode也可以通过自定义设置来满足不同开发者的需求。因此,VSCode是非常适合那些喜欢自定义配置和寻求高度可扩展性的开发者。 STM32CubeMX是一个工具,可帮助快速配置嵌入式应用程序的外设和代码框架。它提供了一种图形化的用户界面,允许用户轻松选择和配置不同的外设。这极大地简化了嵌入式系统开发的流程,使开发者可以更专注于软件开发。使用STM32CubeMX还可以自动生成C代码,包括启动文件、中断处理程序、外设驱动程序等。这些代码框架可以帮助开发者快速启动项目,并提高代码的质量和可读性。 综上所述,VSCodeSTM32CubeMX都有其优点,开发者需要根据具体开发需求和个人偏好来选择适合自己的工具。如果需要高度可扩展性和自定义设置,可以选择VSCode;如果需要快速配置外设并自动生成C代码,可以选择STM32CubeMX。同时,它们也可以结合使用,以实现更高效的开发
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值