stm32F4环境的配置固件库的安装与Jlink驱动的下载)与模板工程的创建 您所在的位置:网站首页 linksysea9500v10和v11固件区别 stm32F4环境的配置固件库的安装与Jlink驱动的下载)与模板工程的创建

stm32F4环境的配置固件库的安装与Jlink驱动的下载)与模板工程的创建

2024-04-05 14:33| 来源: 网络整理| 查看: 265

01-stm32F4环境的配置与模板工程的创建

使用开发板为stm32F407VET6,为单片机课程设计时的课程学习内容。本章节主要包括stm32F4环境的配置(固件库的安装与Jlink驱动的下载)与stm32模板工程的创建 模板工程可到我的gitee上进行下载–模板工程下载地址

文章目录 01-stm32F4环境的配置与模板工程的创建一、 stm32固件库的安装1.1 第一步:下载相应的固件库文件1.2 第二步:安装固件库1.3 第三步: 查看芯片资料 二、Jlink安装2.1 下载J-LInk驱动2.2 安装J-Link 三、 模板工程的创建3.1 创建六个文件夹3.2 复制官方库文件夹中的文件到工程目录中3.2.1 FWLIB文件夹添加配置3.2.2 CORE目录文件夹的添加 3.3.3 USER 目录文件夹添加配置3.3 将文件与工程联系起来3.4 设置头文件存放路径3.5 设置全局宏定义标识符3.5 设置hex文件生成3.6 创建新的main.c3.7 删除main.h相关使用3.8 编译工程

一、 stm32固件库的安装

在学习一个新的开发板时,如果是进行的固件库的学习,那么必不可少的就是固件库的使用。所以第一步当然就是固件库的安装。

STM32固件库是意法半导体为了提高代码的可移植性,为了加快产品开发所提供的一整套API,这些API一方面向下直接操作硬件寄存器,一方面向用户提供可编程接口,使得用户可以在不用知道知道具体寄存器的情况下编写应用程序,而且便于移植。

1.1 第一步:下载相应的固件库文件

在安装之前我们可以从官方arm kile 下载地址进行固件库的安装;或者是从老师的资料包中找到。 这个固件库是下面这样的 在这里插入图片描述

如果是在官网下载的界面是这样的 在这里插入图片描述

1.2 第二步:安装固件库

直接双击固件包就可以,你可以看到下面的界面,他会自动找到之前安装keil的路径,直接点击next就可以 在这里插入图片描述

1.3 第三步: 查看芯片资料

你可以在你自己的keil中看到自己的魔法棒中的divce里面看到自己需要的芯片包 在这里插入图片描述

二、Jlink安装

J-Link是一种硬件调试和编程工具,通常用于微控制器和嵌入式系统的开发。它支持多种微处理器架构,包括ARM、Cortex-M、Renesas等

Jlink是一种下载方式,在keil中的体现就是可以直接使用"download"安装 在这里插入图片描述

2.1 下载J-LInk驱动

第一步:从SEGGER官网下载J-link的驱动 jlink驱动下载位置

下载后你可以看到一个这样的文件 在这里插入图片描述

2.2 安装J-Link

直接双击运行上面的.exe文件 在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

都是傻瓜式的安装没有什么其他要注意的。

三、 模板工程的创建

一个文件从.c到可运行:

预处理(将宏等定义进行转换),编译(语法检测),汇编(转换为机器可以识别的汇编),链接(链接到相应的库)。

3.1 创建六个文件夹

在这里插入图片描述

这六个文件夹是我们按照不同的用途进行分类,方便我们后面的文件管理。

code :存放内核启动文件FWLIB:存放固件库函数文件SYSTEM:存放用户自定义函数库,移植库USER:存放工程所在文件HARDWARE:存放外设模块文件OBJ: 存放过程文件 3.2 复制官方库文件夹中的文件到工程目录中

想要复制现有的固件库,首先需要在官网将固件库的文件下载下来。 下载下来后会有,也可以在我的仓库中下载,STM32F4与STM32F1固件库下载 在这里插入图片描述

3.2.1 FWLIB文件夹添加配置

打开官方库文件,定位到\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\STM32F4xx_StdPeriph_Driver下面.将目录下面的 src,inc文件夹 copy 到我们刚才建立的 FWLib 文件夹下面 在这里插入图片描述

3.2.2 CORE目录文件夹的添加

定位到 \STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm下面,将文件 startup_stm32f40_41xxx.s复制到 CORE 目录下面 在这里插入图片描述

定位到目录\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Includ, 将 里 面 的 四 个 头 文 件 :core_cm4.h、core_cm4_simd.h、core_cmFunc.h 以及core_cmInstr.h 同样复制到 CORE 目录下面

在这里插入图片描述

3.3.3 USER 目录文件夹添加配置

定位STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include将里面的 2 个头文件 stm32f4xx.h和system_stm32f4xx.h复制到 USER目录之下。 在这里插入图片描述

定位到 \STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Project\STM32F4xx_StdPeriph_Templates,将 目 录 下 面 的 4个 文 件 stm32f4xx_conf.h ,stm32f4xx_it.c ,stm32f4xx_it.h,system_stm32f4xx.c复制到 USER 目录下面。 有些教程是五个文件,还包括一个main.c文件,但是这个文件我们自己进行开发,所以这个main文件我们到时候自己创建。 在这里插入图片描述

3.3 将文件与工程联系起来

之前我们所有创建的文件都是直接对目录进行的修改,我们并没有将其与我们的keil工程联系起来,所以我们需要打开keil,并创建一个新的项目。 在这里插入图片描述

创建一个工程至USER目录下,注意工程名称不要有中文。 在这里插入图片描述

选择自己单片机的型号即可 在这里插入图片描述

完成上面的工程创建后,将文件添加到工程中,步骤如下: 在这里插入图片描述

建立三个Groups: USER,CORE,FWLIB。然后点击 OK即可,注意这里的文件夹名称要和我们之前创建的文件夹名相同。

添加完成之后,还有一个需要删除的文件!! stm32f4xx_fmc.c 比较特殊。这个文件STM32F42 和 STM32F43 系列才用到,所以我们这里要把它删掉(注意是 stm32f4xx_fmc.c 要删掉,不要删掉stm32f4xx_fsmc.c)。

3.4 设置头文件存放路径

如果没有设置头文件路径,那么工程会出现报错,头文件路径找不到 在这里插入图片描述

在这里插入图片描述

我们需要添加的头文件路径包括:\CORE, \USER\以及\GECLIB\inc。若需要添加到自己建立的头文件,也需要做路径的添加

3.5 设置全局宏定义标识符

STM32F40 系列的工程,还需要添加一个全局宏定义标识符。

添加方法是点击魔术棒之后,进入 C/C++选项卡,然后在 Define 输入框连输入:STM32F40_41xxx,USE_STDPERIPH_DRIVER。注意这里是两个标识符 STM32F40_41xxx和 USE_STDPERIPH_DRIVER,请大家注意他们之间是用英文的逗号隔开的。 在这里插入图片描述

3.5 设置hex文件生成

在做编译工程之前我们首先要选择编译中间文件编译后存放目录。方法是点击魔术棒,然后选择“Output”选项下面的“Select folder forobjects…”,然后选择目录为我们上面的新建的 OBJ 目录。然后再OBJ目录下就可看到我们需要的程序.hex文件了。 在这里插入图片描述

3.6 创建新的main.c

之前我们说过main.c 我们没有复制,所以我们需要自己创建一个main.c文件在目录USER下

首先右键USER目录,点击创建新的文件 在这里插入图片描述

在这里插入图片描述

创建完成后,写上我们自己的代码,比如一个最简单的(什么都没做):

#include "stm32f4xx.h" //# 开头为预处理,会在第一步将该文件的相关信息加载进来 /*“”的区别 >双引号会先在当先目录中查找,如果当前目录下面没有,则也会去库中去找 直接到库(环境变量)里面去找该文件 while(1)//防止程序跑飞,让程序一直在在while(1)中。 */ int main(void) { while(1) ; } 3.7 删除main.h相关使用

如果你还没有这一步,直接运行,会报错找不到main.h文件 所以可以在USER 分组下面的 stm32f4xx_it.c 文件内容清空。 或者删掉其中的 32 行对main.h 头文件的引入以及 144 行 SysTick_Handler 函数内容

在这里插入图片描述

在这里插入图片描述

3.8 编译工程

最后一步,对工程进行编译,可以看到编译的工程没有报错 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有