为了更好地管理工程文件,我们习惯性将不同作用的文件分别存放在以下各文件夹。
文档文件夹,.md后缀名为Markdown文本文件
存放自述文档,描述工程详情。
固件文件夹
存放STM32库函数文件
硬件文件夹
存放外设BSP(扳级支持包)文件。
工程文件夹
存放Keil工程生成文件
.uvprojx
后缀名为Keil工程打开文件;Objects
文件夹存放编译产生的文件,其中.hex
.bin
.axf
MCU程序烧录文件也存放在此。STM32启动文件夹
存放STM32启动配置文件
.s
后缀名为STM32启动文件;
stm32f10x.h
为STM32的外设寄存器描述文件,作用与51单片机reg52.h
头文件一样;
system_stm32f10x.c
和 system_stm32f10x.h
主要用于配置时钟;
core_cm3.c
和core_cm3.c
为内核寄存器的描述文件。
用户文件夹
存放主程序文件
main.c
为工程主函数;stm32f10x_conf.h
用来配置库函数头文件的包含关系,所有库函数都需要该文件;stm32f10x_it.c
和stm32f10x_it.h
用来存放中断(interrupt)函数。清除执行器
双击运行,清除编译生成的文件,减小工程文件夹的占用大小,便于存放和分享工程。
创建工程文件夹,文件夹里包含上述文件夹;
从STM32库文件中复制以下文件分别粘贴到个文件夹
User
Start
FIrmware
进入Keil5新建工程,存放到工程文件夹(Project)中;
点击工具盒
新建组,并将文件夹内的文件添加到各组中;
STM32F1系列型号
缩写 | 释义 | Flash容量 | 型号 |
---|---|---|---|
LD_VL | 小容量产品超值系列 | 16-32K | STM32F100 |
MD_VL | 中容量产品超值系列 | 64-128K | STM32F100 |
HD_VL | 大容量产品超值系列 | 256-512K | STM32F100 |
LD | 小容量产品 | 16-32K | STM32F101/102/103 |
MD | 中容量产品 | 64-128K | STM32F101/102/103 |
HD | 大容量产品 | 256-512K | STM32F101/102/103 |
XL | 加大容量产品 | 大于512K | STM32F101/102/103 |
CL | 互联型产品 | - | STM32F105/107 |
Start组中,只需添加
startup_stm32f10x_md.s
*
点击魔术棒
添加头文件引用路径;
点击魔术棒
添加宏定义;
在“C/C++”预定义中定义“USE_STDPERIPH_DRIVER”宏,就允许“使用标准外设驱动”了
在stm32f10x.h
头文件的8296行处复制宏USE_STDPERIPH_DRIVER
点击魔术棒
\ c/c++
,粘贴在Define
处
点击魔术棒
选择V5编译器;
MDK新版的V6编译器编译时会报错,则需要选择V5版本 下载MDK V5.36并安装 MDK V5.36 : https://www.myir-tech.com/customerService/download.asp?anclassid=71
将V5版本编译器添加到Keil5中
选择V5编译器
点击魔术棒
选择调试器;
下载器为ST-Link则选择ST-Link
编译。
编写main函数,并编译
Keil5点击编译正常,烧录和调试直接闪退
解决办法 https://blog.csdn.net/regard1/article/details/129580681
https://blog.csdn.net/wcanon/article/details/129645304
新建工程步骤
本文章使用limfx的vscode插件快速发布