首页 🥳 笔记

本文最后更新于 2021 年 03 月 07 日,已超过 196 天没更新!内容可能已失效,请自行测试 ~

一、新建工程模板目录

STM32F10x标准外设库 Sanerio's Drive
STM32F10x_StdPeriph_Lib_V3.5.0 2021_3_7 1_55_20.png

  • 先在计算机的某个盘符下新建一个 STM32_Project 目录,作为基于STM32固件库的工程模板目录。
  • STM32_Project 工程模板目录下,新建 USERCOREOBJSTM32F10x_FWLib 四个子目录。
    STM32_Project 2021_3_7 1_48_49.png

其中,CORE 用来存放核心文件和启动文件;OBJ 用来存放编译过程文件以及hex文件;STM32F10x_FWLib 用来存放 ST 公司(意法半导体公司)官方提供的库函数源码文件;USER 除了用来存放工程文件,还用来存放主函数文件 main.c,以及 system_stm32f10x.cSTM32F10x.s 等文件。

  • 把官方固件库 Libraries\STM32F10x_StdPeriph_Driver 下面的 srcinc 子目录复制到子目录 STM32F10x_FWLib 下面。
    STM32F10x_FWLib 2021_3_7 1_49_44.png

其中,src 存放的是固件库的 .c 文件,inc 存放的是其对应的 .h 文件。每个外设都对应一个 .c 文件和一个 .h 头文件。

  • 把官方固件库 Libraries\CMSIS\CM3\CoreSupport 下面的 core_cm3.ccore_cm3.h 子目录复制到子目录 CORE 下面;把 Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 下面的 startup_stm32f10x_ld.s 文件复制到 CORE 文件夹下面。
    STM32_Project 2021_3_7 1_49_15.png
  • 先把官方固件库 Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下面的stm32f10x.hsystem_stm32f10x.csystem_stm32f10x.h文件复制到子目录 USER 下面,然后把官方固件库 Project\STM32F10x_StdPeriph_Template 下面的 stm32f10x_conf.hstm32f10x_it.cstm32f10x_it.h文件复制到子目录 USER下面。
    USER 2021_3_7 1_50_05.png

二、新建Keil μVision5工程模板

1. 运行Keil μVision5软件

1

2. 单击Project -> New μVision Project

2

然后将目录定位到 STM32_Project工程模板\USER 下面,将工程命名为 STM32_Project ,单击 保存 按钮。

接下来弹出选择芯片 Select Device Target 'Target1' 对话框,本项目使用的是 STM32F103R6 芯片,选择 STMicroelectronics 下面的 STM32F103R6 即可。

三、新建组和添加文件到STM32_Project工程模板

  • 通过快捷工具栏(或File菜单)的📄按钮新建一个文件,并保存为 main.c
    5

6

主文件 main.c 一定要放在 USER 组里面。在该文件中输入如下代码:

#include "stm32f10x.h"
int main(void)
{
    while(1)
    { 
        ;
    }
}
  • 在Project窗格的 Target 1上单击鼠标右键,选择 Manage Project Items... 选项
    7
  • 弹出 Manage Project Items 对话框

先把 Project Targets 栏下的 Target 1 修改为 leddl ,把 Groups 栏下的 Source Group 1 删除。然后在 Groups 栏(中间栏)单击新建按钮(也可以双击下面的空白处),新建 USERCORESTM32F10x_FWLib 组。

USERCORESTM32F10x_FWLib 组里面添加我们需要的文件。 先选中 Groups 栏下的 STM32F10x_FWLib ,然后单击 Add Files 按钮,定位到工程目录的 STM32F10x_FWLib/src 子目录。把里面的所有文件都选中(组合键Ctrl+A),然后单击 Add 按钮,最后单击 Close 按钮,就可以看到 Files 栏下面出现了我们添加的所有文件。

用同样的方法,添加 CORE 子目录里面的 core_cm3.cstartup_stm32f10x_ld.s 文件,添加 USER 子目录里面的 main.cstm32f10x_it.csystem_stm32f10x.c 文件。


9
10


11
12

  • 退出 Manage Project Items 对话框,此时,会发现在 Target 树下多了三个组名和其中添加的文件。
    13

四、工程配置与编译

  • 单击工具栏的 Target Options... 按钮,弹出 Options for Target 'leddl' 对话框,选择 C/C++选项卡,添加要编译文件的路径。

这个步骤非常重要,务必添加正确的路径,否则编译会出现错误。

  • 单击 Include Paths 最右边的方块按钮,弹出添加路径的 Folder Setup 对话框,然后 STM32F10x_FWLib\incCOREUSER 子目录都添加进去。

此操作是为了设定编译器的头文件包含路径

在这里,还需要在 C/C++选项卡 配置界面中,填写 STM32F10X_LD,USE_STDPERIPH_DRIVER 到 Define 输入框里。

之所以要添加 STM32F10X_LD,USE_STDPERIPH_DRIVER ,是因为 V3.5 版的库函数在配置和选择外设时,是通过宏定义来选择的,所以需要配置一个全局的宏定义变量,否则工程编译会出错。
若使用中容量芯片,就把 STM32F10X_LD 修改为 STM32F10X_MD;若使用大容量芯片,就修改为 STM32F10X_HD.

  • 选择 Output选项卡,将 Greate HEX File 选项打上勾,再单击 Select Folder for Objects... 按钮,在弹出的对话框中选中 OBJ 子目录,单击 OK 按钮。
    17
  • 单击 OK 按钮,退出 Options for Target 'leddl' 对话框,单击工具栏的 Rebuild 按钮,对工程进行编译。
    18

在主文件 main.c 代码的最后一定要加上一个回车,否则编译会有警告信息。




文章评论

    ethnx 访客ChromeWindows
    2021-03-25 9:05   回复

    第一单号网为您提供免费快递单号www.01kd.com

目录