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

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

相关推荐
广药门徒1 天前
PADS 为什么router里面两元件放置在一个地方不会报错
嵌入式硬件
振浩微433射频芯片1 天前
433MHz在智能家居中的应用大全(二):智能安防篇——安全不容“信号死角”
网络·单片机·嵌入式硬件·物联网·智能家居
dadaobusi1 天前
手搓单片机
单片机
xingzhemengyou11 天前
STM32 CAN总线通信:从原理到实战开发指南
stm32·单片机·嵌入式硬件
辰哥单片机设计1 天前
STM32项目分享:宠物喂食(蓝牙升级版)
stm32·嵌入式硬件·宠物
fengfuyao9851 天前
基于STM32的4轴步进电机加减速控制工程源码(梯形加减速算法)
网络·stm32·算法
FreakStudio1 天前
MicroPython LVGL基础知识和概念:底层渲染与性能优化
python·单片机·嵌入式·电子diy
Flamingˢ1 天前
ZYNQ + OV5640 视频系统开发(四):HDMI 显示链路
嵌入式硬件·fpga开发·硬件架构·音视频
LCMICRO-133108477461 天前
国产长芯微LDC5141完全P2P替代DAC80501,数模转换器 (DAC)
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发·数模转换器 dac
普中科技1 天前
【普中 51-Ai8051 开发攻略】-- 第 9 章 按键控制实验
单片机·嵌入式硬件·开发板·keil·按键·普中科技·ai8051u