ArduinoIDE + STM32Link烧录调试

本文介绍了如何使用ArduinoIDE配合STM32F103C8T6(Bluepill)调试开源电机控制库SimpleFOC。强调了STM32兼容芯片可能带来的问题,推荐使用官方STM32芯片。详细阐述了STM32在ArduinoIDE中的开发板安装、烧录方式(STLink、串口、USB),并对比了不同烧录方式的优缺点。此外,还讨论了BootLoader的选择和USB接口作为串口的配置选项。

最近在用simpleFOC调试电机,simpleFOC库针对开源硬件平台Arduino编写的,所以想先用arduinoIDE先熟悉simpleFOC库和源码后,再做裁剪和优化移植到STM32平台上去。

硬件介绍

![在这里插入图片描述](https://img-blog.csdnimg.cn/d3c8ac63a66f4bae8de35a48739e15a3.png在这里插入图片描述

硬件使用STM32F103C8T6最小系统板,官方叫做Bluepill,某宝上面一大堆。需要注意芯片是STM32还是其他国产的兼容芯片。我测试过GD32F103C8T6,WCH32F103C8T6,这两个可以用STM32CubeMX生产的程序直接下载,但是在ArduinoIDE里面很多功能都无法正常使用,比如SPI接口,时钟设置等。所以要用arduinoIDE开发的话还是要用STM32F103,不要用兼容芯片,否则出了问题都不知道怎么解决。目前STM32对ArduinoIDE的支持是最到位的。详细可以参考stm32duino的GitHub说明,还有stm32duino论坛

开发过程

安装stm32duino开发板

首先需要在ArduinoIDE里面安装STM32的支持包,有两个版本,一个是stm32duino官方版,具体参考Getting started;另一个版本是rogerclark的版本,具体参考STM32F103C8T6在Arduino IDE里编程。亲测觉得官方版更稳定一些,配置端口也更灵活。推荐新手直接用官方版的

烧录方式

在这里插入图片描述

烧录方式主要有三种,三方方式的原理各不相同:可以参考Upload methods

  1. 用STLink烧录器烧录,需要单独的烧录引脚SWIO、SWCLK。如果习惯了用MDK开发,手上有STLink,这种方式是最稳定,速度最快的。上图中STM32CubeProgrammer(SWD)就是这种方式,BMP(Black magic Probe)应该也是这种方式,需要BMP烧录器,具体没有测试过。目前我使用的方式
  2. 用串口烧录,需要TX、RX引脚,并通过USB转串口工具连接电脑。先把Boot0接3.3V,boot1接0V,从SRAM启动,程序烧录完成后,再把boot0接0,从Flash启动。这种方式比较麻烦。上图中STM32CubeProgrammer(Serial)就是这种方式
  3. USB烧录,直接用开发板上的USB接口烧录,不需要额外的硬件支持。这种方式的优点是不需要额外的硬件。但是需要先给芯片烧录一个引导程序,也就是BootLoader,这个BootLoader需要占用一定的flash空间。上图中的STM32CubeProgrammer(DFU)、HID BootLoader(2K)、Maple DFU BootLoader(20K)、Maple DFU BootLoader original都是这种方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BobBobBao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值