使用STM32CubeMX + Visual Studio Code + OpenOCD + PlatformIO搭建一个现代化且跨平台的STM32开发环境

本文介绍了一种使用STM32CubeMX、VisualStudioCode、PlatformIO等工具链进行STM32嵌入式开发的方法,该方法适用于多种芯片,并详细讲解了配置流程及首个工程的实现。

xv7Ml9.png

前言

其实这套工具链(除开STM32CubeMX)不仅STM32能用,还能给8051,ESP32,Arduino等芯片使用,只要你所使用的烧录工具以及芯片本身被PlatformIO支持。

在本文介绍的这套工具链中,Visual Studio Code为文本编辑器,gcc-arm-none-eabi为编译器,STM32CubeMX用于创建基础代码,而PlatformIO则将上述内容组合到一起,形成了一个强大的IDE。

为什么要抛弃Keli与MDK

抛弃这些老旧的IDE的理由很多,对于初学者而言,这些IDE通常没有如代码补全之类的现代IDE的基本功能,UI也异常老土;对于大多团队,MDK等老旧IDE通常仅有Windows版本,就大多数情况而言,统一开发平台往往比较困难,甚至有部分团队因为各种各样的原因不得不在Linux平台上进行开发;而对于嵌入式领域从业者而言,该类IDE通常为专有软件,使用其进行嵌入式开发,必须遵守相关的协议,具体内容包括但不限于软件付费,编译器限制代码行数等。

xv7dld.png

其次,STM32CubeMX以及HAL库的出现向老旧的生产方式发起了挑战,使用STM32CubeMX以及HAL库,我们可以很轻松地生成STM32 MCU的初始化代码以及工程,而不需要深入了解ARM架构中海量的寄存器以及芯片内部各种晦涩难懂的电路。

xvHaNT.png

尽管这种不需深入理解硬件便直接“浮沙筑高台”的开发方式以及HAL库本身的代码质量一直饱受诟病,但不得不承认,此乃大势所趋。

xvbXe1.png

但是STM32CubeMX只是一个项目生成工具,HAL也仅仅只是一个代码库,我们还需要一个代码编辑器。

Visual Studio Code是微软牵头的一个半开源软件(其开源项目名为vscodium,Visual Studio Code是微软构建的发行版,两者关系类似于AOSP和Android),该软件基于Electron框架构建,定位为代码编辑器,但得益于其强大的扩展能力以及社区生态(当然还有微软的钱),打满插件的Visual Studio Code可以摇身一变,成为21世纪最好用的IDE。

但其实,对于我们的需求,只需要打一个PlatformIO IDE插件就足够了。

PlatformIO是一个开源项目,其的本体是一个Python脚本,它是一个集成工具,提供了对各种嵌入式平台的一键部署和调试,以及代码补全功能。PlatformIO的开发者为该项目编写了相应的Visual Studio Code插件,以使该套系统能集成在Visual Studio Code上,形成一个强大的嵌入式IDE。

xvqRpD.png

工具链介绍

STM32CubeMX

STM32CubeMX是一种图形工具,通过分步过程可以非常轻松地配置STM32微控制器和微处理器,以及为Arm® Cortex®-M内核或面向Arm® Cortex®-A内核的特定Lin

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值