stm32新建工程

stm32新建工程

文章目录

1.在任意位置新建工程文件夹

2.新建项目

打开keil 5------>project------>new uVision project

3.为项目命名

选中刚刚创建的文件夹后再文件名处输入工程名称(project)并点击保存

4.选择器件型号

选择适合自己板子的型号,这里是STM32F103C8

保存后的项目

当前项目还不能直接使用,还需要加入启动文件

5.查找启动文件(开始找Start文件夹所需文件,5-9)

固件库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

再固件库目录下查找启动文件即下图:

6.导入启动文件

复制arm文件夹中的所有文件,并导入项目文件夹中(新建文件夹(start),并将复制的内容粘贴)

7.找到外设文件

固件库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x

stm32f10x.h描述STM有哪些寄存器和它对应的地址的

两个system文件时用来配置时钟的,STM32主频72MHz,就是system文件里的函数配置的

8.粘贴外设文件

将上述的3个文件复制到start文件夹中

因为STM32是内核和内核外围的设备组成的,而且内核的寄存器描述和外围设备的描述文件不是在一起的,所以还需要添加一个内核寄存器的描述文件

9.找到内核寄存器描述

固件库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport

cm3文件就是内核的寄存器描述,还带着内核的配置函数,所以多了个.c文件。

将上述文件复制,并粘贴到start文件下

工程必要文件准备完成!

10.添加文件到项目

将文件类型改成ALL FILE

将下图文件添加入当前项目

这些都是最基本的文件,不需要我们修改,添加进来即可(小钥匙图表代表这只是个只读文件)

11.添加头文件的路径

在c/c++的目录下,找到include path

添加新路径

找到红叉叉的左边的new insert,然后点击三个点添加start文件路径

12.验证是否成功

12.1在工程文件夹下创建User文件夹

创建该文件夹用于存放main函数

12.2在工程里添加User

添加新组并重命名为User(点击一下,再点击一下)

12.3添加新项目

User------>add new item to the group "User "------>选择C------>修改名称(main)------>位置修改为User

12.4添加随意代码验证

最后一行必须是新的一行(回车一行)否则会报错

第一个头文件可右键插入,insert #include file

目前还没有添加STM32的库函数,所以它还是一个基于寄存器开发的工程。其他两个库的添加可以看总结处。

n.总结(其实只看总结就可以)

导入User,Start,Library文件总结

在项目的目录下创建三个文件夹命名为User,Start和Library,然后按照如下操作

  1. 在固件库的devicesport------>arm内找到启动文件,再找到stm32f10x和system的两个文件,将其复制到Start文件夹下,再找到coresupport的两个文件(core_cm3.h)并粘贴到Start文件夹下,这样start文件的文件就复制完成了
  2. 找到标准外设驱动的文件(src下和inc下),全部复制到Library文件夹下
  3. 打开project文件夹,打开后缀为template,选择main,conf,两个it文件,复制到User文件夹下(直接复制c文件后面就不需要再建了)
  1. 再点击方块

点击后删除原本默认的分组,新建个组后添加Start,User,Library三个文件夹,点击add files添加需要的文件

添加Start的文件,先选一个md后缀的启动文件,后全选.c和.h后缀的文件

添加Library的文件,打开Library文件夹,全选添加

添加User的文件,打开User文件夹,全选添加

魔术棒内的设置

点击魔术棒工具,c/c++处的include path将我们的所有文件的路径录入(Start/User/Library),再Define处写上USE_STDPERIPH_DRIVER,Debug处修改为ST-link,在右边设置flash下载,勾选reset和run

这样工程的配置就完成了。

删掉main.c里面的代码,并右键插入头文件(stm32f10x),然后开始敲代码。

好工具推荐

一个好用的文件Keilkill.bat是一个批处理文件,可以把编程产生的中间文件都删掉.

文件夹占空间的主要就是Listing和objects两个文件夹,这些都是工程的中间文件,当要分享给别人的时候可以双击批处理文件(keilkill.bat),将中间文件都删掉。

相关推荐
少年、潜行1 小时前
【开源】STM32HAL库驱动ST7789_240×240(硬件SPI+软件SPI)
stm32·嵌入式硬件·开源·hal库·st7789·软件spi
承接电子控制相关项目2 小时前
单片机与FPGA的核心差异、优缺点、编程差异、典型应用场景、选型等对比分析
单片机·嵌入式硬件·fpga开发
YHPsophie2 小时前
面向高可靠场景的RISC-V低功耗MCU硬件安全设计
单片机·嵌入式硬件·risc-v
狄加山6752 小时前
STM32 外部中断
stm32·单片机·嵌入式硬件
承接电子控制相关项目2 小时前
当代嵌入式硬件工程师应具备哪些能力要素
单片机·嵌入式硬件
XINVRY-FPGA3 小时前
XCZU19EG-2FFVC1760I Xilinx赛灵思FPGA Zynq UltraScale+MPSoC
c++·嵌入式硬件·阿里云·fpga开发·云计算·硬件工程·fpga
XWXnb64 小时前
STM32F407 的通用定时器与串口配置深度解析
stm32·单片机·嵌入式硬件
嵌入式-老费14 小时前
Linux上位机开发实践(以MCU小系统入门嵌入式电路)
单片机·嵌入式硬件
WPG大大通15 小时前
基于意法半导体STM32G473和STDRIVE 101的电池供电BLDC/PMSM电动工具
stm32·单片机·嵌入式硬件·方案·大大通
the sun3415 小时前
STM32---GPIO
stm32·单片机·嵌入式硬件