STM32duino——用ArduinoIDE玩STM32(一): 刷入Bootloader,实现免串口下载
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,实现免串口下载相关推荐
- 新手帮助,STM32 刷入Arduino的BootLoader。实现免串口下载
不少新人从某宝买回来十元一个的STM32C8T6的最小系统板,满网扒教程,最后搞一点点东西,也得把串口线拔来拔去,费事得很,上网上搜了一下,都说的比较笼统,故而.... 此篇是东拼西凑的,实在没工夫从 ...
- 玩客云刷入openwrt系统
玩客云刷入openwrt系统 0.前言 一.刷入引导 二.编译 OpenWRT 三.系统烧录及设置 0.前言 最近因为一些原因,想到了做一个 openwrt,转了一圈海鲜市场,发现就这个玩客云比较 ...
- 玩客云刷入Linux系统,搭建FTP服务器
玩客云刷入LINUX系统参考这篇博客:https://lishuma.com/archives/3412 根据上面大佬的博客一步一步来很简单,简要总结几点: 1: 先刷安卓固件包,然后刷armbian ...
- 华为畅玩5 (CUN-AL00) 刷入第三方twrp Recovery 及 root
华为畅玩5 (CUN-AL00) 刷入第三方twrp Recovery 及 root 下载地址 http://pan.baidu.com/s/1hsn6VzA 1. 在官网申请解锁码 申 ...
- 玩客云刷入armbian系统总结
闲着没事把去年搞的玩客云重新刷个armbian系统作为服务器使用,以下是个人折腾的总结 准备工具: USB 转 TTL 线一根 双公头 USB 线一根 闲置 U 盘一个,或者读卡器配合存储卡 软件下载 ...
- 【物联家居】第二章:服务器--玩客云刷入armbian系统,作为数据交互中心
日记:现在是2021年6月12日 14:07:18. [物联家居]总目录 目录 一.玩客云 二.需要材料 三.刷入Armbian 步骤一:刷底包 步骤二:把armbian固件写入U盘(同sd卡) 步骤 ...
- 小米红米手机刷入Recovery手机教程-TWRP下载-获取root权限-新增小米12/13Pro适配
刷机注意: 本教程为小米全机型,目前已整理机型都可以使用 请确保你的电脑能正确连接你的手机,部分手机需要解锁BL 小米解锁BL教程:http://www.romleyuan.com/lec/read? ...
- 玩客云内置EMMC存储刷入Armbian
最近因 Nas 负荷太大,搞了一个玩客云作为微型主机分担了部分压力.要让玩客云成为一台微型主机,需要给它安装一个Armbian系统. 设备准备:玩客云 玩客云是一款前些年很火的矿机,曾经在官网售卖¥5 ...
- adb刷入第三方recovery_橙狐Recovery一款另类功能丰富的第三方刷机工具支持MIUI OTA...
橙狐recovery合集分享 说起刷机,我们最先想到的就是TWRP_recovery,这是安卓阵营上目前最好用的第三方RECOVERY,界面简洁,操作十分方便,更新速度也是最快的:而对于玩机党来说,我 ...
最新文章
- 跨时钟域信号传输问题之握手同步
- 子主题function php,wordpress子主题怎么添加
- php 微信第三方登录demo,第三方登录 - 快速接入微信、QQ、微博等第三方登录方式 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
- 书店POS机--细化迭代1--测试
- 快速开发框架,及库存管理系统,基于easyui框架和C#语言MVC、EntityFrameWork、T4模板技术。...
- c语言调用话筒的程序,c – OpenAL:如何创建简单的“麦克风回声”程序?
- office漏洞利用--获取shell
- db2嵌套查询效率_db2性能优化
- [HNOI2012]三角形覆盖问题
- HDU2842之斐波那契亚数列变形,动态规划
- Java Swing Mysql实现图书管理系统源码附带高清视频指导运行教程
- Python实战从入门到精通第十四讲——定义有默认参数的函数
- C语言-ATT拓展内联汇编(ATT/GCC)
- 跨平台通信中间件thrift学习【Java版本】(转)
- 基于mapreduce的购物篮分析算法实现
- 基于Tensorflow的MINIST手写体识别
- 有关Stolz定理的推广和应用(吕文斌)
- 带通滤波器幅频特性曲线图_滤波器和对讲机技术解析!
- 五大学科竞赛(四)信息学奥赛试题
- (node)Warning: Accessing non-existent property ‘xxx‘ of module exports inside circular depen
热门文章
- 移动端有时候触发不了touchend 使用event.preventDefault()后页面无法滚动
- supermap动态流向_SuperMap复习资料讲解
- ET6.0服务器框架学习笔记(二、一条登录协议)
- rippled win10 vs2019编译 rippled 1.6.0
- 图片相似度对比-java
- 500元内什么牌子的游戏蓝牙耳机好用?低延迟游戏蓝牙耳机
- 一个开源的 android 平台期货行情交易终端
- 从零开始 | 原生微信小程序开发(一)
- mysql主从脚本--主
- java 重定向输入_java输入输出重定向