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

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

相关推荐
于小猿Sup15 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
chao18984416 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
不会武功的火柴18 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
猫猫的小茶馆19 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
feifeigo12319 小时前
STM32矩阵键盘驱动(库函数版)实现
stm32·矩阵·计算机外设
嵌入式小站20 小时前
STM32 零基础可移植教程 05:按键消抖,为什么按一次会触发好几次
chrome·stm32·嵌入式硬件
czhaii20 小时前
跟我动手学FX系列PLC GX2环境
嵌入式硬件
拾知_H21 小时前
STM32/Delay延时函数编程思路
stm32·单片机·时钟·延时
2zcode1 天前
基于STM32的智能扫地机器人设计与实现
stm32·嵌入式硬件·机器人
jllllyuz1 天前
单相并网逆变器控制代码实现(STM32版)
stm32·单片机·嵌入式硬件