快速掌握STM32工程创建

STM32 工程创建-- 使用Keil uVision5 软件

晓理紫

1 准备库函数库

STM32F10x_StdPeriph_Lib_V3.5.0

VX 搜索"晓丽紫"关注回复STM32F10x即可下载

2、创建一个目录用来存放工程

STM32Study
STM32Study/study1 存放本次工程目录

3、打开Keil uVision5 创建工程

4、选择型号(根据板子型号选择)

5、在工程中添加必要文件

5.1 、启动文件

启动文件位于库函数

STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
在工程文件目录中创建文件目录Start把启动文件中的文件考到工程文件中

5.2 拷外设寄存器描述文件和时钟文件

位于STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
也拷入到Start中

5.3 拷贝内存寄存器文件

位于 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport

5.4 把必要文件加载到工程中


6、添加头文件路径

7、测试工程可用性

7.1 在工程中创建User存储main文件

创建组并改名为User

7.2 添加main文件

8、编写测试代码

复制代码
#include "stm32f10x.h"                  // Device header

int main(void)
{
	while(1)
	{
	}
}

9、错误处理

9.1 错误1

复制代码
Build target 'Target 1'
Start/core_cm3.c(445): error: non-ASM statement in naked function is not supported
  uint32_t result=0;

原因: 使用的编译版本太新

9.2 错误2

复制代码
.\Objects\study2_1.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.

原因:启动文件都加载进来了

当现实如图时工程可以使用了

10 debug,烧录调试

10.1 选择下降方式并设置下载复位执行


11、 使用库函数进行编程

11.1 拷贝库函数

创建Library目录并把\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver中src以及inc中的文件拷入

11.2 像上面一样添加Library组

11.3 添加库函数头文件包含关系的文件以及中断函数

位于 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 复制到User文件目录中

11.4 向上面一样加入头文件

11.5 添加宏定义

12、编译,下载到板子上运行

相关推荐
恒锐丰小吕18 分钟前
屹晶微 EG27517 高速低侧单通道驱动芯片技术解析
嵌入式硬件·硬件工程
三佛科技-134163842121 小时前
FT61E13x家族解析(FT61E131/3F/32/33/35)8位AD型MCU之间的区别
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
恒锐丰小吕1 小时前
屹晶微 EG1416 低压高速低侧单通道驱动芯片技术解析
嵌入式硬件·硬件工程
良许Linux1 小时前
51单片机都有哪些优缺点
单片机·程序员·嵌入式·编程
启友玩AI2 小时前
方言守护者:基于启英泰伦CI-F162GS02J芯片的“能听懂乡音”的智能夜灯DIY全攻略
c语言·人工智能·嵌入式硬件·ai·语音识别·pcb工艺
ℳ๓. Sweet2 小时前
【STM32】一种最简单的合并bootloader和app的固件bin文件方法
stm32·单片机·嵌入式硬件
数字芯片实验室2 小时前
怎么定义芯片上的异步时钟?
单片机·嵌入式硬件·fpga开发
学嵌入式的小杨同学2 小时前
【Linux 封神之路】进程进阶实战:fork/vfork/exec 函数族 + 作业实现(含僵尸进程解决方案)
linux·开发语言·vscode·嵌入式硬件·vim·软件工程·ux
小柯博客3 小时前
从零开始打造 OpenSTLinux 6.6 Yocto 系统 - STM32MP2(基于STM32CubeMX)(六)
c语言·git·stm32·单片机·嵌入式硬件·开源·yocto
意法半导体STM323 小时前
【官方原创】防止STM32CubeMX删除用户文件的方法 LAT1442
stm32·单片机·嵌入式硬件·stm32cubemx·stm32开发·stm32生态