STM32F103 Keil 库函数工程创建

  1. 标准库下载
    ST官网下载标准库可参考该文章
    • 创建库函数工程所需要标准库文件及说明如下图所示:
      在这里插入图片描述
  2. 创建工程需要的文件夹并添加文件
  • 创建一个存放整个工程的文件夹,命名为Project_STD;(名字可以任意取,但不要包含中文)

  • 在该文件夹下创建6个文件夹,各个文件夹的作用如下所示:

    名称作用
    Doc存放程序的说明文件,由编写程序的人添加
    Libraries存放标准库相关的文件;
    Listing存放编译器生成的列表文件(.lst)和.map文件。列表文件包含了源代码、汇编代码以及编译后的机器代码之间的对应关系;.map文件列出了程序中所有符号(如函数和变量)的地址分配;
    Output存放编译和链接后的目标文件(.o文件)、库文件(.lib文件)、可执行文件(.hex)
    Project存放keil工程文件
    User存放用户编写的文件

在这里插入图片描述

  • 在Libraries文件夹下创建CMSIS文件夹,在CMSIS文件夹下创建CoreSupport文件夹和DeviceSupport文件夹。之后将解压后的标准库STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\CoreSupport文件夹下的core_cm3.c和core_cm3.h复制到Libraries\CMSIS\CoreSupport文件夹下。
    在这里插入图片描述
    在这里插入图片描述
  • 将解压后的标准库StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm文件夹下的startup_stm32f10x_hd.s复制到Libraries\CMSIS\DeviceSupport文件夹下。
    在这里插入图片描述
    【不同型号的单片机的启动文件夹不一样,关于启动文件的选择参考下图】
    在这里插入图片描述
  • 将解压后的标准库STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h复制到Libraries\CMSIS\DeviceSupport文件夹下;
    在这里插入图片描述
  • 在Libraries文件夹下创建STM32F10x_StdPeriph_Driver文件夹
    在这里插入图片描述
  • 将解压后的标准库STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\STM32F10x_StdPeriph_Driver文件夹下的inc和src文件夹复制到Libraries\STM32F10x_StdPeriph_Driver文件夹下;
    在这里插入图片描述
  • 将解压后的标准库STM32F10x_StdPeriph_Lib_V3.6.0\Project\STM32F10x_StdPeriph_Template文件夹下的main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h复制到User文件夹下;
    在这里插入图片描述
  1. 打开Keil5,新建工程
  • Project—》New uVison Project…—》存放在Project文件夹下;
    在这里插入图片描述
    在这里插入图片描述
  • 选择单片机型号:STMicroelectronics/STM32F1 Series/STM32F103/STM32F103ZE;
    在这里插入图片描述
    在这里插入图片描述
  • 在线添加组件,keil的服务器在国外,在线添加很慢,关闭。我们之后在本地手动添加库文件;
    在这里插入图片描述
  1. 在keil5中添加文件组并把文件添加到keil工程中
  • 添加文件组STARTUP、CMSIS、STDLIB、USER、DOC;
    在这里插入图片描述
    在这里插入图片描述

  • 把Libraries\CMSIS\DeviceSupport下的启动文件添加到STARTUP组;
    在这里插入图片描述

  • 把Project_STD\Libraries\CMSIS\CoreSupport下的core.c、Projects\Project_STD\Libraries\CMSIS\DeviceSupport下的system_stm32f10x.c添加到CMSIS组;
    在这里插入图片描述在这里插入图片描述

  • 把Project_STD\Libraries\STM32F10x_StdPeriph_Driver\src下的所有.c文件添加到STDLIB组;
    在这里插入图片描述

  • 把stm32f10x_it.c和main.c添加到USER组;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  1. 配置魔术棒选项卡
  • 勾选Target选项卡中的"Use MciroLib";把编译器版本改为version 5;如果选择version6,需要把core_cm3.c从工程中移除,具体操作如下所示:
    在这里插入图片描述
    complier version 6和complier version 5的区别

    • complier version5的编译速度较慢,变量必须定义在函数开头;
    • complier version6的编译速度更快,变量定义可以不放在函数开头;但使用complier version6时,需要把core_cm3.c文件从工程中移除;具体操作如下所示:
      在这里插入图片描述
  • 在Output选项卡中把输出文件夹定位到Project_STD\Output下;并勾选Create HEX File;
    在这里插入图片描述

  • 在Listing选项卡中把输出文件夹定位到Project_STD\Listing下;
    在这里插入图片描述

  • 在C/C++选项卡中添加处理宏STM32F10X_HD, USE_STDPERIPH_DRIVER、编译器查找的头文件路径;
    在这里插入图片描述

  • 把下面的内容复制到mai.c中,点击编译按钮即可;

    #include "stm32f10x.h"                  // Device header
    
    int main(void)
    {
    
    }
    
    
    

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值