STM32建立完全空白的工程

下载对应芯片型号的Cube固件包

下载Cube固件包用来获取对应芯片的启动文件, 我的芯片型号是STM32L475VET6

访问 www.st.com

访问 Tools & SoftwareEmbedded SoftwareBrowse 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
项目配置

ProjectOptions 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);
}

以上, 就创建了一个完全空白的项目, 编译后可烧录

相关推荐
the sun342 分钟前
嵌入式易错点:ARM指令架构、IP核、MCU厂商关系+BOOTLoader刷机原理
stm32·嵌入式
wuyk5552 小时前
104.C 语言字节对齐:从底层原理到工程实践的完整指南
c语言·开发语言·stm32·单片机·嵌入式硬件
北域码匠9 小时前
高通滤波算法深度解析(High-Pass Filter)
stm32·算法·c#·数字信号处理·嵌入式开发·滤波算法·高通滤波
star learning white9 小时前
STM32入门学习5
stm32·嵌入式硬件·学习
新晨单片机设计10 小时前
S006A-基于STM32单片机温湿度检测系统【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus
逐步前行12 小时前
ESP32-S3-分区表(Partition Table)
单片机
星河单片机12 小时前
STM32驱动HS‑S37A水位传感器+OLED完整实验讲解
stm32·单片机·嵌入式硬件
代码不接地12 小时前
【EDA】0.公共部分&元件库设计
嵌入式硬件
一条破秋裤13 小时前
16_TIM编码器接口测速
笔记·stm32·学习
糖糖单片机设计13 小时前
STM32水稻苗大棚环境监测系统
stm32·单片机·嵌入式硬件