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

相关推荐
Deitymoon4 小时前
ESP8266——透传
单片机·网络协议·tcp/ip
zhangrelay4 小时前
云课实践速通系列-基础篇汇总-必修-通识基础和专业基础-2026--工科--自动化、电气、机器人、测控等
linux·笔记·单片机·学习·ubuntu·机器人·自动化
Deitymoon6 小时前
ESP8266——UDP传输
单片机·网络协议·udp
踏着七彩祥云的小丑6 小时前
嵌入式——认识电子元器件——光电器件系列
单片机·嵌入式硬件
羽获飞6 小时前
从零开始学嵌入式之STM32——31.高级定时器
stm32·单片机·嵌入式硬件
iCxhust8 小时前
一块电路板的自觉
单片机·嵌入式硬件·嵌入式·微机原理
学习者1234567898 小时前
Bootloader跳转APP代码流程
单片机·嵌入式硬件
ACP广源盛139246256739 小时前
一芯搞定多屏高清@ACP#GSV1221 DP 1.4 MST 转 HDMI 1.4 高集成转换芯片
网络·人工智能·嵌入式硬件·计算机外设·电脑
iCxhust9 小时前
在 emu8086 中可以直接编译运行的完整汇编程序,演示数组的定义、遍历、求和、求最大值。
开发语言·前端·javascript·汇编·单片机·嵌入式硬件·算法
LCG元9 小时前
STM32实战:基于STM32F103的SG90舵机控制(PWM精准控制)
stm32·单片机·嵌入式硬件