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

  • 写在前面:为什么我们需要STM32duino?
    • 准备工作
    • 刷入Bootloader
    • 安装相关支持
    • 第一个测试程序
    • 注意事项
    • 参考文献

写在前面:为什么我们需要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 seconddigitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOWdelay(1000);                       // wait for a second
}

开始你的烧录

烧录完毕,你会看到你的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

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

  1. 新手帮助,STM32 刷入Arduino的BootLoader。实现免串口下载

    不少新人从某宝买回来十元一个的STM32C8T6的最小系统板,满网扒教程,最后搞一点点东西,也得把串口线拔来拔去,费事得很,上网上搜了一下,都说的比较笼统,故而.... 此篇是东拼西凑的,实在没工夫从 ...

  2. 玩客云刷入openwrt系统

    玩客云刷入openwrt系统 0.前言 一.刷入引导 二.编译 OpenWRT 三.系统烧录及设置 0.前言   最近因为一些原因,想到了做一个 openwrt,转了一圈海鲜市场,发现就这个玩客云比较 ...

  3. 玩客云刷入Linux系统,搭建FTP服务器

    玩客云刷入LINUX系统参考这篇博客:https://lishuma.com/archives/3412 根据上面大佬的博客一步一步来很简单,简要总结几点: 1: 先刷安卓固件包,然后刷armbian ...

  4. 华为畅玩5 (CUN-AL00) 刷入第三方twrp Recovery 及 root

    华为畅玩5 (CUN-AL00) 刷入第三方twrp Recovery  及 root 下载地址    http://pan.baidu.com/s/1hsn6VzA 1. 在官网申请解锁码    申 ...

  5. 玩客云刷入armbian系统总结

    闲着没事把去年搞的玩客云重新刷个armbian系统作为服务器使用,以下是个人折腾的总结 准备工具: USB 转 TTL 线一根 双公头 USB 线一根 闲置 U 盘一个,或者读卡器配合存储卡 软件下载 ...

  6. 【物联家居】第二章:服务器--玩客云刷入armbian系统,作为数据交互中心

    日记:现在是2021年6月12日 14:07:18. [物联家居]总目录 目录 一.玩客云 二.需要材料 三.刷入Armbian 步骤一:刷底包 步骤二:把armbian固件写入U盘(同sd卡) 步骤 ...

  7. 小米红米手机刷入Recovery手机教程-TWRP下载-获取root权限-新增小米12/13Pro适配

    刷机注意: 本教程为小米全机型,目前已整理机型都可以使用 请确保你的电脑能正确连接你的手机,部分手机需要解锁BL 小米解锁BL教程:http://www.romleyuan.com/lec/read? ...

  8. 玩客云内置EMMC存储刷入Armbian

    最近因 Nas 负荷太大,搞了一个玩客云作为微型主机分担了部分压力.要让玩客云成为一台微型主机,需要给它安装一个Armbian系统. 设备准备:玩客云 玩客云是一款前些年很火的矿机,曾经在官网售卖¥5 ...

  9. adb刷入第三方recovery_橙狐Recovery一款另类功能丰富的第三方刷机工具支持MIUI OTA...

    橙狐recovery合集分享 说起刷机,我们最先想到的就是TWRP_recovery,这是安卓阵营上目前最好用的第三方RECOVERY,界面简洁,操作十分方便,更新速度也是最快的:而对于玩机党来说,我 ...

最新文章

  1. 跨时钟域信号传输问题之握手同步
  2. 子主题function php,wordpress子主题怎么添加
  3. php 微信第三方登录demo,第三方登录 - 快速接入微信、QQ、微博等第三方登录方式 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
  4. 书店POS机--细化迭代1--测试
  5. 快速开发框架,及库存管理系统,基于easyui框架和C#语言MVC、EntityFrameWork、T4模板技术。...
  6. c语言调用话筒的程序,c – OpenAL:如何创建简单的“麦克风回声”程序?
  7. office漏洞利用--获取shell
  8. db2嵌套查询效率_db2性能优化
  9. [HNOI2012]三角形覆盖问题
  10. HDU2842之斐波那契亚数列变形,动态规划
  11. Java Swing Mysql实现图书管理系统源码附带高清视频指导运行教程
  12. Python实战从入门到精通第十四讲——定义有默认参数的函数
  13. C语言-ATT拓展内联汇编(ATT/GCC)
  14. 跨平台通信中间件thrift学习【Java版本】(转)
  15. 基于mapreduce的购物篮分析算法实现
  16. 基于Tensorflow的MINIST手写体识别
  17. 有关Stolz定理的推广和应用(吕文斌)
  18. 带通滤波器幅频特性曲线图_滤波器和对讲机技术解析!
  19. 五大学科竞赛(四)信息学奥赛试题
  20. (node)Warning: Accessing non-existent property ‘xxx‘ of module exports inside circular depen

热门文章

  1. 移动端有时候触发不了touchend 使用event.preventDefault()后页面无法滚动
  2. supermap动态流向_SuperMap复习资料讲解
  3. ET6.0服务器框架学习笔记(二、一条登录协议)
  4. rippled win10 vs2019编译 rippled 1.6.0
  5. 图片相似度对比-java
  6. 500元内什么牌子的游戏蓝牙耳机好用?低延迟游戏蓝牙耳机
  7. 一个开源的 android 平台期货行情交易终端
  8. 从零开始 | 原生微信小程序开发(一)
  9. mysql主从脚本--主
  10. java 重定向输入_java输入输出重定向