🗒️PlatformIO与STM32基础
2023-4-12
| 2023-7-5
0  |  0 分钟
type
Post
status
Published
date
Apr 12, 2023
slug
summary
嵌入式开发插件PlatformIO操作,环境配置,常用文档等
tags
STM32
技术
category
兴趣|生活
icon
password

一、MAC环境配置

创建PlatformIO Project

进入PlatformIO,Create New Project选择对应开发板,框架选择STM32Cube。
STM32Cube是ST公司针对旗下所有常用开发板型号推出的开源HAL(硬件抽象层)驱动库,大幅减少开发人员改写寄存器以及查阅手册的操作。
notion image
会在默认目录/Document/PlatformIO/Projects之下创建一个包含库文件的project folder。
常规folder tree:
|--include | |--lib | | | |--Bar | | |--docs | | |--examples | | |--src | | |- Bar.c | | |- Bar.h | | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html | | | |--Foo | | |- Foo.c | | |- Foo.h | | | |- README <-- Library docs | |- platformio.ini |--src |- main.c <-- 裸机主程序

二、启动流程及主要工程文件

板子上电后首先运行arm汇编程序`startup_stm32fxxx.S`,该程序在进行复位硬件、内存、堆栈指针、PC指针,调用系统初始化程序`system_stm32fxxx.c`初始化系统时钟和中断向量表之后,最后调用`main.c`主程序。

src/

  • main.c: 裸机主程序源文件
  • stm32fxxx_it.c: 系统及外设中断函数源文件,定义不同内部/外设中断发生时的处理行为,系统定时器归零中断处理默认为`HAL_IncTick()`
  • system_stm32fxxx.c: 启动配置源文件(可选,如需配置特定系统时钟频率时),没有则调用hal库中默认同名启动文件

include/

  • main.h, stm32fxxx_it.h: 相应头文件
  • stm32fxxx_hal_conf.h: HAL库配置头文件,用于选择项目所需的外设以及开启/关闭断言调试。在PlatformIO预装的库中有一份同名conf文件和template文件,可以移除库中同名文件使编译时参考用户文件夹下的conf文件。

inc/

此目录包含由开发人员编写的板级支持包(BSP),用于实现当前工程的功能,为工程私有。
 
兴趣|生活
  • STM32
  • 技术
  • 《被讨厌的勇气》一周目读后感深入理解Hybrid A*算法
    目录