Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序

Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序

背景:有arduino经验,无STM32经验;没使用过keil,只玩过arduino IDE。

手边有两款STM32F103C8T6的板子。两款板子都带USB串口芯片,一块设计了自动下载,另一块需要手动设置boot0置1(boot0/boot1),复位。

已下内容都是使用串口上传数据(固件及程序)。没有使用STLINK?jlink?。。。啥的?请用户自行对照硬件,文章仅供参考。

适用于想使用Arduino IDE玩STM32的初学者,如有错误欢迎讨论交流。

本人使用环境 window7 64位系统

Arduino IDE 环境搭建

下载 IDE

官网下载软件并安装:https://www.arduino.cc/en/Main/Software
Arduino IDE 界面
CSDN备用下载地址(网络不好的用户):点击下载

配置IDE

安装Arduino_SAM_Boards板型文件

选择 工具 > 开发板 > 开发板管理器,打开如下界面选择 Arduino SAM Boards(32-bit ARM Cortex-M3) 安装,下图我已经安装好,所以只有删除键;未安装会有安装键。
安装板型
网络不好的请使用离线方式安装:

  • 下载Arduino_SAM_Boards离线安装包
  • 解压至C:\Users\Administrator\AppData\Local\Arduino15\staging\packages路径文件夹下;
  • 然后再次进入开发板管理器选择安装(即可跳过下载过程直接安装)。

打开 工具 > 开发板 看到如图则安装成功:
成功安装

下载Arduino_STM32板型文件

下载Arduino_STM32 及STM32duino-bootloader(后面刷固件使用)
Github下载地址:https://github.com/rogerclarkmelbourne/Arduino_STM32
CSDN备用下载地址(网络不好的用户):点击下载
下载
下载完成后,将压缩包解压至Arduino IDE 安装路径的hardware文件夹中:
文件路径
重启 Arduino IDE,打开工具>板型,可见如图则安装成功:
成功安装

编译blink例程检测环境是否安装成功

选择Blink例程:
打开blink例程
选择板型,根据实际情况选择:
选择STM32板型
点击编译,编译完成则环境搭建成功:
编译程序

上传固件

固件下载地址:https://github.com/rogerclarkmelbourne/STM32duino-bootloader
CSDN备用下载地址(网络不好的用户):点击下载
选择固件 “generic_boot20_pc13.bin” (pc13连接到板载LED)
选择固件
使用BinToHex转换软件将其转换为hex文件。
转换hex格式
转换完成后,使用软件(记事本或者其他)打开hex格式固件,将首行数据 :020000040000FA 更改成 :020000040800F2(重要)。
更改地址
使用USB连接主控制至PC,打开设备管理器,可看见端口:
控制板端口
使用mcuisp软件上传固件,板子需要boot0置1点击复位按钮进入烧写模式,软件需要选好端口并设置好如下图:
固件烧写
固件烧写成功。

上传程序

方法1、IDE直接上传程序

选择板型、端口、烧写方式:
烧写程序 IDE设置
板子需要boot0置1点击复位按钮进入烧写模式,然后点击上传:
成功烧写程序

电路设计带自动下载的一块板子,IDE无法正常上传程序,应该是无法正常进入烧写模式;但使用mcuisp、STMicroelectronics flash loader上传都可以,而且非常方便,无需手动设置。

方法2、STMicroelectronics flash loader软件上传 bin文件(arduino IDE 导出已编译的二进制bin文件)

打开软件前,将板子连接电脑,板子需要boot0置1点击复位按钮进入烧写模式:
上传bin格式程序

方法3、MCUISP 软件上传 hex 文件
  • 需要将导出的二进制程序bin文件转换为hex文件
  • 更改首行数据 :020000040000FA >> :020000040800F2(重要)。
  • 板子boot0置1点击复位按钮进入烧写模式
  • 烧写

bin hex 区别 可以先百度,没研究暂时不清楚

本文参考链接:https://blog.csdn.net/hk_shao/article/details/79319548 此帖未使用串行芯片程序。
买了块无串口芯片板子,按照上面的帖子操作;出现的难点在驱动安装,怎么安装都无法识别,后来不知道怎么操作的安装成功了;后来发现应该是需要:Boot0接GND。如果不行,保持Boot0接GND再重新上电试试,希望可以帮助到一些无法安装驱动的用户。


YFROBOT
www.yfrobot.com
www.yfrobot.com.cn

  • 16
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值