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,然后按照如下操作
- 在固件库的devicesport------>arm内找到启动文件,再找到stm32f10x和system的两个文件,将其复制到Start文件夹下,再找到coresupport的两个文件(core_cm3.h)并粘贴到Start文件夹下,这样start文件的文件就复制完成了
- 找到标准外设驱动的文件(src下和inc下),全部复制到Library文件夹下
- 打开project文件夹,打开后缀为template,选择main,conf,两个it文件,复制到User文件夹下(直接复制c文件后面就不需要再建了)
- 再点击方块
点击后删除原本默认的分组,新建个组后添加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),将中间文件都删掉。