打印
[应用相关]

STM32F411【Nucleo】标准库建立工程的方法

[复制链接]
2280|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
STM32 官方标准固件库:http://pan.baidu.com/s/1pJ00oFD   密码:o2a3
解压之后如下:

文件夹介绍:
Libraries 文件夹下面有 CMSIS 和 STM32F4xx_StdPeriph_Driver 两个目录,这两个目录包含固件库核心的所有子文件夹和文件。 CMSIS 文件夹存放的是符合 CMSIS 规范的一些文件。包括 STM32F4 核内外设访问层代码,DSP 软件库,RTOS API,以及 STM32F4 片上外设访问层代码等。我们后面新建工程的时候会从这个文件夹复制一些文件到我们工程。   STM32F4xx_StdPeriph_Driver 放的是 STM32F4 标准外设固件库源码文件和对应的头文件。inc 目录存放的是 stm32f4xx_ppp.h 头文件,无需改动。src 目录下面放的是 stm32f4xx_ppp.c 格式的固件库源码文件。每一个.c 文件和一个相应的.h 文件对应。这里的文件也是固件库外设的关键文件,每个外设对应一组文件。 Libraries 文件夹里面的文件在我们建立工程的时候都会使用到。
Project 文件夹下面有两个文件夹。顾名思义,STM32F4xx_StdPeriph_Examples 文件夹下面存放的的 ST 官方提供的固件实例源码,在以后的开发过程中,可以参考修改这个官方提供的实例来快速驱动自己的外设,很多开发板的实例都参考了官方提供的例程源码,这些源码对以后的学习非常重要。STM32F4xx_StdPeriph_Template 文件夹下面存放的是工程模板。 Utilities 文件下就是官方评估板的一些对应源码,这个对于本手册学习可以忽略不看。
根目录中还有一个 stm32f4xx_dsp_stdperiph_lib_um.chm 文件,直接打开可以知道,这是一个固件库的帮助文档,这个文档非常有用,只可惜是英文的,在开发过程中,这个文档会经常被使用到。
沙发
heisexingqisi|  楼主 | 2016-12-16 21:29 | 只看该作者
(1)在建立工程之前,我们建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工程都可以放在这个文件夹下面,这里我们建立一个文件夹为 工程模板。这是工程的根目录文件夹。然后为了方便我们存放工程需要的一些其他文件,这里我们还新建下面 5 个子文件:CORE,FWLIB,OBJ,SYSTEM,USER。至于这些文件夹名字,实际上是可以任取的,我们这样取名只是为了方便识别。

(2) 接下来,打开 Keil,点击 Keil 的菜单:Project –>New Uvision Project  ,然后将目录定位到刚才建立的文件夹 工程模板之下的 USER 子目录,同时,工程取名为 Template 之后点击保存,我们的工程文件就都保存到 USER 文件夹下面。
(3) 接下来会出现一个选择 Device 的界面,就是选择我们的芯片型号,这里我们定位到STMicroelectronics 下面的 STM32F411RE。这里我们选择 STMicroelectronics--STM32F4 Series--STM32F411--STM32F411RE

(4)下面我们要将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面。 打开官方固件库包,定位到我们之前准备好的固件库包的目录:
STM32F4xx_DSP_StdPeriph_Lib_V1.4.0LibrariesSTM32F4xx_StdPeriph_Driver 下面, 将目录下面的 src,inc 文件夹 copy 到我们刚才建立的 FWLib 文件夹下面。
(5)下面我们要将固件库包里面相关的启动文件复制到我们的工程目录 CORE 之下。
打开官方固件库包,定位到目录
STM32F4xx_DSP_StdPeriph_Lib_V1.4.0LibrariesCMSISDeviceSTSTM32F4xxSourceTemplatesarm 下面,将文件 startup_stm32f40_41xxx.s 复制到 CORE 目录下面。然后定位到目录STM32F4xx_DSP_StdPeriph_Lib_V1.4.0LibrariesCMSISInclud,将里面的头文件 core_cm4.h和core_cm4_simd.h 同样复制到 CORE 目录下面。
(6) 接下来我们要复制工程模板需要的一些其他头文件和源文件到我们工程。首先定位到目录: STM32F4xx_DSP_StdPeriph_Lib_V1.4.0LibrariesCMSISDeviceSTSTM32F4xxInclude 将里面的 2 个头文件 stm32f4xx.h  system_stm32f4xx.h 复制到 USER 目录之下。这两个头文件是STM32F4 工程非常关键的两个头文件。后面我们讲解相关知识的时候会给大家详细讲解。然后
进入目录STM32F4xx_DSP_StdPeriph_Lib_V1.4.0ProjectSTM32F4xx_StdPeriph_Templates  , 将 目 录 下 面 的 5 个 文 件 main.c  stm32f4xx_conf.h , stm32f4xx_it.c , stm32f4xx_it.h ,system_stm32f4xx.c 复制到 USER 目录下面。
(7)我们将需要的固件库相关文件复制到了我们的工程目录下面,下面我们将这些文件加入我们的工程中去,右键点击 Target1,选择 Manage Components.添加后如下图:

(8) 接下来我们要在 MDK 里面设置头文件存放路径。也就是告诉 MDK 到那些目录下面去寻找包含了的头文件。这一步骤非常重要。如果没有设置头文件路径,那么工程会出现报错 头文件路径找不到。添加方法是点击魔术棒之后,进入 C/C++选项卡,然后在 Define 输入框连输入:
STM32F40_41xxx,USE_STDPERIPH_DRIVER。注意这里是两个标识符 STM32F40_41xxx和 USE_STDPERIPH_DRIVER,他们之间是用逗号隔开的。

(9)在编译之前我们首先要选择编译中间文件编译后存放目录。 方法是点击魔术棒然后选择“Output”选项下面的“Select  folder  for  objects…”,
然后选择目录为我们上面新建的 OBJ 目录。

151243k7dkpdszbb0dddol.png (41.61 KB )

151243k7dkpdszbb0dddol.png

150655pysqu115m5fhqqhq.png (22.07 KB )

150655pysqu115m5fhqqhq.png

150128r1wh4dzu4wyddduh.png (50.98 KB )

150128r1wh4dzu4wyddduh.png

145509oyxjloksoz00ojns.png (31.81 KB )

145509oyxjloksoz00ojns.png

使用特权

评论回复
板凳
heisexingqisi|  楼主 | 2016-12-16 21:30 | 只看该作者
(10)配置ST-LINK




(11)按下 F7即可进行编译,编译可能会出现如下错误,缺少某个头文件

我们可以打开 Manage Run-Time Environment,添加组件

重新编译后提示:"..OBJTemplate.axf" - 0 Error(s), 0 Warning(s).

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

128

主题

2581

帖子

2

粉丝