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 玩转STM32 - 搭环境、刷固件、烧程序_第1张图片
CSDN备用下载地址(网络不好的用户):点击下载

配置IDE

安装Arduino_SAM_Boards板型文件

选择 工具 > 开发板 > 开发板管理器,打开如下界面选择 Arduino SAM Boards(32-bit ARM Cortex-M3) 安装,下图我已经安装好,所以只有删除键;未安装会有安装键。
Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序_第2张图片
网络不好的请使用离线方式安装:

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

打开 工具 > 开发板 看到如图则安装成功:
Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序_第3张图片

下载Arduino_STM32板型文件

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

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

选择Blink例程:
Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序_第7张图片
选择板型,根据实际情况选择:
Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序_第8张图片
点击编译,编译完成则环境搭建成功:
Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序_第9张图片

上传固件

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

上传程序

方法1、IDE直接上传程序

选择板型、端口、烧写方式:
Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序_第15张图片
板子需要boot0置1点击复位按钮进入烧写模式,然后点击上传:
Arduino IDE 玩转STM32 - 搭环境、刷固件、烧程序_第16张图片

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

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

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

方法3、MCUISP 软件上传 hex 文件

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

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

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

你可能感兴趣的:(笔记,arduino,stm32)