你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F411【Nucleo】第一课--新建工程(基于keil 5.13)  

[复制链接]
颩色四葉愺 发布时间:2015-1-24 15:18
本帖最后由 颩色四葉愺 于 2015-8-1 00:37 编辑

STM32 官方标准固件库:https://pan.baidu.com/s/1pJ00oFD   密码:o2a3
解压之后如下:
QQ截图20150124145046.png
文件夹介绍:
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 文件,直接打开可以知道,这是一个固件库的帮助文档,这个文档非常有用,只可惜是英文的,在开发过程中,这个文档会经常被使用到。

(1)在建立工程之前,我们建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工程都可以放在这个文件夹下面,这里我们建立一个文件夹为 工程模板。这是工程的根目录文件夹。然后为了方便我们存放工程需要的一些其他文件,这里我们还新建下面 5 个子文件:CORE,FWLIB,OBJ,SYSTEM,USER。至于这些文件夹名字,实际上是可以任取的,我们这样取名只是为了方便识别。
QQ截图20150124145431.png
(2) 接下来,打开 Keil,点击 Keil 的菜单:Project –>New Uvision Project  ,然后将目录定位到刚才建立的文件夹 工程模板之下的 USER 子目录,同时,工程取名为 Template 之后点击保存,我们的工程文件就都保存到 USER 文件夹下面。
(3) 接下来会出现一个选择 Device 的界面,就是选择我们的芯片型号,这里我们定位到STMicroelectronics 下面的 STM32F411RE。这里我们选择 STMicroelectronics--STM32F4 Series--STM32F411--STM32F411RE
QQ截图20150124150055.png
(4)下面我们要将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面。 打开官方固件库包,定位到我们之前准备好的固件库包的目录:
\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\STM32F4xx_StdPeriph_Driver 下面, 将目录下面的 src,inc 文件夹 copy 到我们刚才建立的 FWLib 文件夹下面。
(5)下面我们要将固件库包里面相关的启动文件复制到我们的工程目录 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 目录下面。
(6) 接下来我们要复制工程模板需要的一些其他头文件和源文件到我们工程。首先定位到目录: STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include 将里面的 2 个头文件 stm32f4xx.h  system_stm32f4xx.h 复制到 USER 目录之下。这两个头文件是STM32F4 工程非常关键的两个头文件。后面我们讲解相关知识的时候会给大家详细讲解。然后
进入目录\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Project\STM32F4xx_StdPeriph_Templates  , 将 目 录 下 面 的 5 个 文 件 main.c  stm32f4xx_conf.h , stm32f4xx_it.c , stm32f4xx_it.h ,system_stm32f4xx.c 复制到 USER 目录下面。
(7)我们将需要的固件库相关文件复制到了我们的工程目录下面,下面我们将这些文件加入我们的工程中去,右键点击 Target1,选择 Manage Components.添加后如下图:
QQ截图20150124150629.png
(8) 接下来我们要在 MDK 里面设置头文件存放路径。也就是告诉 MDK 到那些目录下面去寻找包含了的头文件。这一步骤非常重要。如果没有设置头文件路径,那么工程会出现报错 头文件路径找不到。添加方法是点击魔术棒之后,进入 C/C++选项卡,然后在 Define 输入框连输入:
STM32F40_41xxx,USE_STDPERIPH_DRIVER。注意这里是两个标识符 STM32F40_41xxx和 USE_STDPERIPH_DRIVER,他们之间是用逗号隔开的。
QQ截图20150124150822.png
(9)在编译之前我们首先要选择编译中间文件编译后存放目录。 方法是点击魔术棒然后选择“Output”选项下面的“Select  folder  for  objects…”,
然后选择目录为我们上面新建的 OBJ 目录。
(10)配置ST-LINK
QQ截图20150124151107.png
QQ截图20150124151150.png
QQ截图20150124151200.png
QQ截图20150124151218.png
(11)按下 F7即可进行编译,编译可能会出现如下错误,缺少某个头文件
QQ截图20150124151436.png
我们可以打开 Manage Run-Time Environment,添加组件
QQ截图20150124151500.png
重新编译后提示:"..\OBJ\Template.axf" - 0 Error(s), 0 Warning(s).

一个工程就这样建立了,附上工程源文件: 1.工程模板.zip (8.28 MB, 下载次数: 2567)
1 收藏 16 评论80 发布时间:2015-1-24 15:18

举报

80个回答
lvyunhua 回答时间:2015-6-19 21:49:03
不错,学习了
小丁 回答时间:2015-1-24 15:23:28
很清晰,很详细,感谢分享
zhangdaijin 回答时间:2015-1-24 15:43:03
支持一下
wambob 回答时间:2015-1-24 16:19:36
学习一下,有没有类似103的类型定义文件和MAP定义呢
moyanming2013 回答时间:2015-1-24 17:05:42
支持了。。。。。
我是酱油哥 回答时间:2015-1-24 17:17:15
支持一下
fjjjnk1234 回答时间:2015-1-24 18:36:39
感谢分享!
smcdh 回答时间:2015-1-24 18:46:02
不错,写的很细
星辰一方 回答时间:2015-1-24 18:52:32
很详细,楼主好样的!那个cubemx怎么都弄不太懂,倒来倒去没明白怎么个关系,这个反倒感觉比较直观,
颩色四葉愺 回答时间:2015-1-24 19:08:55
wambob 发表于 2015-1-24 16:19
学习一下,有没有类似103的类型定义文件和MAP定义呢

你说的是类似stm32f103系列中的 那个stm32f10x_conf.c这个文件吧?   F4系列也有这个文件 stm32f4xx_conf.c 可以通过修改其中包含的头文件增减外设驱动

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版