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(硬件抽象层)驱动库,大幅减少开发人员改写寄存器以及查阅手册的操作。
会在默认目录/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),用于实现当前工程的功能,为工程私有。