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),将中间文件都删掉。

相关推荐
Darken031 小时前
标准外设库与HAL库有什么区别?都怎样去使用?如何区分?
单片机·嵌入式硬件·hal库与基本外设库
点灯master2 小时前
DAC8562的驱动设计开发
c语言·驱动开发·stm32
czhaii2 小时前
8051U深度入门到32位51大型实战
单片机
Hans_Rudle2 小时前
在香橙派(昇腾NPU)(kunpengpro/aipro)上部署自己的模型 -以Unet为例
嵌入式硬件·香橙派
boneStudent3 小时前
Day28:I2C 配置与使用
stm32·单片机·嵌入式硬件
法号:行颠3 小时前
Chaos-nano协作式异步操作系统(六):`Chaos-nano` 在手持式 `VOC` 检测设备上的应用
c语言·单片机·嵌入式硬件·mcu·系统架构
XINVRY-FPGA4 小时前
XC7Z030-2SBG485I Xilinx Zynq-7000 系列 SoC FPGA
嵌入式硬件·fpga开发·硬件工程·fpga
xiaohai@Linux6 小时前
LVGL显示gif动图导致MCU进入HardFault_Handler问题(已解决!)
单片机·lvgl
czhaii6 小时前
并口LCD1602用DMA刷屏
单片机·嵌入式硬件·硬件工程
离凌寒6 小时前
二、在freertos中对应esp01s模块的ap模式下的通信测试。
单片机·freertos·esp01s