STM32学习笔记1:用KEIL创建STM32F10X工程

1:KEIL创建STM32F10X工程@悠游自如
按STM32F103C8T6举例

一、初建工程

1.创建文件夹,按个人喜好命名。
2.打开keil,点击Project-New Uvision project,选择创建的文件夹,并填写工程名,之后选择STM32F103C8T6单片机。

二、添加启动文件

1.在工程文件夹里创建Startup文件夹(存放系统启动文件)、User文件夹(存放个人文件)、Library文件夹(存放库函数)。
2.解压下载好的标准库文件STM32F10x_StdPeriph_Lib_V3.5.0,里面有我们所需的F103各种库文件。
3.将工程库STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录下的所有文件复制到我们建立的Startup文件夹。此部分为启动必须文件。
4.继续将
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下的所有.c和.h文件复制到我们建立的Startup文件夹。此部分我stm32F10x头文件。
5.继续将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport目录下的所有文件复制到我们建立的Startup文件夹。此部分为内核文件。
6.打开keil,在左侧工作栏中单击再单击Source Group文件夹,将其改名为Startup。
7.右键Startup,点击Add Existing Files to Group ‘Startup’,选择Startup文件夹,选择对应的启动文件startup_stm32f10x_??.s,此工程选择后缀为md的文件,之后依次点击Add,Close即可。具体对照如下:

型号对应启动文件

startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F107xx
startup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_hd_vl.s 大容量的STM32F100xx
startup_stm32f10x_ld.s 小容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_ld_vl.s 小容量的STM32F100xx
startup_stm32f10x_md.s 中容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_md_vl.s 中容量的STM32F100xx (我项目中用的是此款芯片 stm32f100CB)
startup_stm32f10x_xl.s FLASH在512K到1024K字节的STM32F101xx,STM32F102xx,STM32F103xx
(例如:像stm32f103re 这个型号的 芯片flash是512k 的, 启动文件用startup_stm32f10x_xl.s 或者startup_stm32f10x_hd.s 都可以;)

cl:互联型产品,stm32f105/107系列
vl:超值型产品,stm32f100系列
xl:超高密度产品,stm32f101/103系列
ld:低密度产品,FLASH小于64K
md:中等密度产品,FLASH=64 or 128
hd:高密度产品,FLASH大于128
————————————————
参考链接:https://blog.csdn.net/weixin_45211835/article/details/123100958
8.如同第7步,将Startup目录下的所有.c和.h文件添加到工程。
9.为头文件添加目录,点开魔术棒,C/C++,点击include paths,点击白色方形按钮,点击…,选择Startup文件夹。
10.右键keil里左侧的Target,点击Add Group,之后对其改名为User,之后右键User,点击Add new item to group ‘User’,添加C文件,命名为main,位置选择User文件夹,之后点击Add。
11.在keil里的main.c中空白处右键,点击insert‘include file’,选择Stm32F103x.h插入头文件,之后写main函数和while(1),注意代码最后一行摇留空,然后编译。此步骤若是编译错误,可在魔术棒中的Target将ARM complier中选择use default complier version 5。
12.至此基本工程搭载完毕,若是基于寄存器开发则此工程可以直接使用,若是决定使用库函数开发则进行下一项库文件添加。

三、添加库函数文件

  1. 将库文件夹STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc下的所有文件复制到我们建立的Library文件夹中。
  2. 继续将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src下的所有文件复制到我们建立的Library文件夹中。
  3. 回到keil,右键Target,添加组,改为Library,之后选择Add Existing Files to Group ‘Library’,找到刚才Library文件夹中的所有.c和.h文件添加。
  4. 将库文件夹STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h复制到我们建立的User文件夹中,并如上一步骤在keil里的User文件夹添加这三个文件。
  5. 为了使用stm32f10x_conf.h文件,在keil中右键main.c中的"stm32f10x.h" ,点击open document"stm32f10x.h" ,之后下拉,约8296行,看见如下代码:
    #ifdef USE_STDPERIPH_DRIVER
    #include “stm32f10x_conf.h”
    #endif
    复制USE_STDPERIPH_DRIVER到魔术棒-C/C++下的Define中。
  6. 继续点击include paths,如同添加Startup文件路径一样为新加入的.c和.h文件添加路径,选择User文件夹和Library文件夹,之后点击OK。
  7. 之后回到main.c,重新编译工程,至此库函数添加完毕,新建工程模板结束。以后想做新工程时直接复制整个文件夹过去就行。
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值