当前位置:   article > 正文

STM32duino——用ArduinoIDE玩STM32(一): 刷入Bootloader,实现免串口下载

stm32duino

写在前面:为什么我们需要STM32duino?

同样的价格,更高的性能

性能简单对比:

  • STM32F103C8T6 vs Arduino Nano
    主频: 72MHz vs 8MHz
    SRAM: 20K vs 2K
    存储: 64K vs 32KFlash+1KEEPROM(ATmega328)

STM32F103C8T6在各个方面都优于Arduino
Nano,而它们的售价却相差无几。此外,STM32的这款芯片还具有更多的GPIO,更高精度的PWM输出(比Nano高64倍),更强大的外设(高精度ADC,若干硬件USART、I2C、SPI)等优点。

准备工作

硬件准备:图片来自网络

STM32F103C8T6 蓝色开发板(Bluepill) x 1(图片来自网络)

注意:请确认PCB颜色是蓝色的。另有一种黑色PCB版本的,方法略有不同。在这里插入图片描述

USB转TTL小板 x 1(如CH340)

接线:

RX————A9
TX————A10
GND————G
3v3————3.3

将串口模块的RX,TX引脚分别与板子的A9,A10引脚连接。并正确连接3.3V与GND的线路。

注意:如果接入串口模块后计算机无法识别它,请确认是否正确的安装了相关的驱动。

软件准备:
先把下载链接放上

Arduino开发环境:ArduinoIDE
在这里插入图片描述

Stm32duino的Bootloader:STM32duino-bootloader

STM32duino-bootloader包可以不用完整下载,只需要里边一个BootLoader的bin文件即可,在https://github.com/rogerclarkmelbourne/STM32duino-bootloader/tree/master/binaries,根据板子上的led灯使用的针脚,来选择一个文件下载即可,这里图中BluePill板选择pc13.
在这里插入图片描述

STM32硬件支持相关文件:“Hardware” files to support STM32 based boards on Arduino version 1.8.x
注意:这个国内下载是很慢的。请‘另想办法’后再下载。否则可能要花超过一个小时的时间。
在这里插入图片描述

flash_loader_demo_v2.8.0:https://www.st.com/en/development-tools/flasher-stm32.html (上面链接如果慢可以用这个http://www.liangchan.net/liangchan/9954.html)下载安装即可

刷入Bootloader

按“硬件准备”连接好线后,把STM32板上boot0插到1的位置,boot1插到0的位置,USB转TTL插入电脑,打开flash_loader_demo。
如果找不到串口,先插入你的下载线,然后重新打开软件:
1:这里选择你的串口号,next在这里插入图片描述

2.原作者说这里按一下开发板上的复位键,但我测试多次,按不按完全相同的结果,直接next
在这里插入图片描述

3:这里根据你的芯片,选择内存大小(Bluepill可以不用选择),然后next
在这里插入图片描述

7:选择Download to device,并选取下载好的bin文件,next
在这里插入图片描述

8:烧写完成。
在这里插入图片描述

可以全部关闭了,所有线可以撤掉了,BOOT0插回0。

安装相关支持

把下载好的“Arduino_STM32-master.zip”解压到桌面,文件夹名字为“Arduino_STM32-master”,剪切“Arduino_STM32-master”到C:\Users\用户名\Documents\Arduino路径下的hardware文件夹下(hardware文件夹文件夹不存在则需要创建)
在这里插入图片描述
打开Arduino_STM32-master\drivers\win 双击安装install_drivers.bat
在这里插入图片描述

打开“Arduino”,点击“工具” -> “开发板:xxxxxxxxx”->“开发板管理器”->(索引下载完成后输入)“SAM”-> (安装下图中圈中的内容)

install the Arduino SAM boards (Cortex-M3) from the list of available boards. You must do this step, it installs the arm-none-eabi-g++ toolchain!

在这里插入图片描述
安装完成后,关闭页面,点击“工具” -> “开发板:xxxxxxxxx”-> (选中)按图中选项选择
在这里插入图片描述

第一个测试程序

用microUSB线连接STM32和电脑,在“工具”中选择正确的端口
例程

/*
  Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

开始你的烧录

烧录完毕,你会看到你的LED开始闪烁。

至此,全部完成

注意事项

在这里插入图片描述
stm32这块板是3.3v电平,与arduino uno常见的5v电平不同,根据引脚图注意IO输入电压。使用UART时与Arduino略有不同。
其他相关: link.

参考文献

感谢各位
[1]https://blog.csdn.net/fengwangzhe000/article/details/104569598
[2]https://blog.csdn.net/wwwwyccom/article/details/89251521
[3]https://blog.csdn.net/xatsoft/article/details/90687016
[4]https://blog.csdn.net/kangear/article/details/77589691
[5]https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/67604
推荐阅读
相关标签
  

闽ICP备14008679号