下载对应芯片型号的Cube固件包
下载Cube固件包用来获取对应芯片的启动文件, 我的芯片型号是STM32L475VET6
访问 www.st.com
访问 Tools & Software ⇒ Embedded Software ⇒ Browse Embedded Software
在右侧的菜单中依次选择
MCU and MPU Embedded Software
⇒ STM32 embedded software
⇒ ⇒ STM32Cube MCU & MPU Packages
点击后打开STM32Cube MCU & MPU Packages页面, 点击页面中的Product selector, 在下方选择 STM32CubeL4
这样就进入到L4系列芯片对应的所有固件包下载页面, 标题如下
STM32Cube MCU Package for STM32L4 series and STM32L4 Plus series (HAL, Low-Layer APIs and CMSIS, USB, TouchSensing, File system, RTOS, Graphic - and examples running on ST boards)
然后在这个页面的最下方下载最新的固件包版本, 我选择1.18.0
基于这个固件包, 构建空白工程
通过如下路径获取L475芯片的启动文件
stm32cubel4-v1-18-2\STM32Cube_FW_L4_V1.18.0\Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\arm\startup_stm32l475xx.s
复制文件:
From:
stm32cubel4-v1-18-2\STM32Cube_FW_L4_V1.18.0\Drivers\CMSIS\Device\ST\STM32L4xx\Include
从这里复制如下几个文件
cmsis_armcc.h
cmsis_compiler.h
cmsis_version.h
core_cm4.h
mpu_armv7.h
To:
Test02\CMSIS
From:
stm32cubel4_v1-18-0\STM32Cube_FW_L4_V1.18.0\Drivers\CMSIS\Device\ST\STM32L4xx\Include
复制如下文件
stm32l4xx.h
stm32l475xx.h
system_stm32l4xx.h
整体项目目录树如下:
├─CMSIS
│ │ cmsis_armcc.h
│ │ cmsis_compiler.h
│ │ cmsis_version.h
│ │ core_cm4.h
│ │ mpu_armv7.h
│ │
│ └─stm32l4xx
│ stm32l475xx.h
│ stm32l4xx.h
│ system_stm32l4xx.h
│
├─CORE
│ startup_stm32l475xx.s
│
├─OBJ
└─USER
main.c
test02.uvprojx
项目配置
Project ⇒ Options for target 'Test02'... ⇒ C/C++ 选项卡下配置:
Processor Symbols ⇒ Define: STM32L475xx
Include Paths: ..\CMSIS; ..\CMSIS\stm32l4xx
Output选项卡配置:
Select folder for Objects ⇒ Test02\OBJ
勾选Create HEX File
勾选Browse Information
main函数代码
c
#include "stm32l4xx.h"
void SystemInit(void)
{
// 空实现,防止启动文件调用出错
}
int main(void)
{
RCC->CR |= RCC_CR_HSION;
while (!(RCC->CR & RCC_CR_HSIRDY)) { }
while (1);
}
以上, 就创建了一个完全空白的项目, 编译后可烧录