Ronan Blog

罗华东的博客 | 向前每多走一步,热爱和勇气就会多一分。

「platformIO」基于 stm32 标准外设库的工程模板

2024-10-22 3 min read Docs Ronan

本教程默认用户已经安装好 vscode 和 platformIO !!!

1.下载官方标准外设库

进入 ST 官网的嵌入式软件板块 ,根据自身板子型号选择,有F0-F4多种型号。

之后根据提示选择下载即可,如果没有意外的话,应该会获得一个类似 en.stsw-stm32065_v1-9-0.zip(这是 F4 的标准库) 的压缩包。

2.在 platformIO 新建一个 CMSIS 工程

NO1

NO2

工程建立成功之后,应该是下面这样:

TT
├── include
│   └── README
├── lib
│   └── README
├── platformio.ini
├── src
└── test
    └── README

3.导入标准库文件并配置工程

3.1导入标准库文件

1.解压从官网下载的标准外设库 en.stsw-stm32065_v1-9-0.zip ,获得一个 STM32F4xx_DSP_StdPeriph_Lib_V1.9.0 目录

2.在 platformIO 工程的 include 目录中新建一个 main.h:

#include "stm32f4xx.h"

包含头文件根据开发板型号而定。

3.打开 …/STM32F4xx_DSP_StdPeriph_Lib_V1.9.0/Libraries/CMSIS/Device/ST/STM32F4xx
/Include
,将其中的 stm32f4xx.hsystem_stm32f4xx.h复制到 platform 工程的 include 目录下。

Continue reading

stm32程序烧录方式

2024-10-22 1 min read Docs Ronan

以下以stm32f103c8t6芯片为例

使用stlink

st-flash write /path/project/build.bin 0x08000000

注意:

  • 使用 st-flash 命令需要提前安装 stlink ,macOS 通过brew install stlink即可安装。
  • 烧写 .bin 文件需要指定 flash 起始地址,也就是 0x08000000(具体芯片具体地址根据手册修改)

使用openocd

openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c "program /path/project/build.bin verify reset exit 0x08000000"

注意:

  • 根据自己的stlink 实际版本更改interface/stlink-v2.cfg为适配的 stlink 配置文件
  • 根据自己的stm32单片机实际型号更改target/stm32f1x.cfg为适配的配置文件

使用STM32_Programmer_CLI(串口烧录)

使用该方法之前需要安装STM32_Programmer_CLI,该程序可以到 ST(意法半导体)官网自行下载,需要将其添加到环境变量。之后将串口线正确接到板子上的引脚,通过以下命令将程序文件烧录到单片机中。

STM32_Programmer_CLI -c port=/dev/tty.usbmodem11403 -w /path/project/build.bin 0x08000000

同样的,烧录.bin 文件需要指定 flash 起始地址。

注意:

  • port=后面是串口号,mac 以及 linux 可以通过ls /dev/tty.*命令来查看串口号,Windows 一般是COMx,可以通过设备管理器查看。
Older posts Newer posts