第一步:下载标准外设固件库。 打到STM32F2xx Standard Peripherals library,目前最新的版本是V1.1.0,但建议下V1.0.0版本的,因为官网最新版本V1.1.0版本缺少cm3.c文件。 建议用迅雷下载,因为用浏览器下载的话下载到99%的时候就会停止,用迅雷下载就可以下载完。 下载完后解压,如下图: 2 l, ], F9 l2 q: U' `$ B
1 z) n; J) Z# M: g7 k 图1 --STM32F2xx_StdPeriph_Lib_V1.0.0 |--_htmresc |--Project |--Release_Notes.html |--stm32f2xx_stdperiph_lib_um.chm |--stm32f2xx_stdperiph_lib_um.chw 在你电脑任何地方新建一目录,如APP,然后在APP目录下新建Project和User两目录。 接下来将之前下载并解压出来的标准外设固件库下的Libaries目录拷贝到APP目录下。 然后在Project目录下新建Obj和List两目录。 最后从之前解压的文件中选择一模板源文件复制到User目录下,这里举例为将.\STM32F2xx_StdPeriph_Lib_V1.0.0\Project\STM32F2xx_StdPeriph_Examples\GPIO 目录下的源文件代码复制到Usr目录下。& K! P9 b8 f* u& V 准备好这些后就可以进行下一步了。 下图显示APP的目录:
& r4 X9 W) Y; b. P: ?. L 2 R/ K1 ]: [" t7 P) L 图2# F6 {9 r' o1 d. K; ]; T6 C3 [ 打开MDK,点击Project->New uVision Project...,然后弹出一对话框,要你选择工程目录,这里选择到APP/Project,并且将工程取名为Demo,如下图: 6 H1 F; a3 u, n( N* P
图3 点击Save后将弹出一对话框,选择MCU类型,这里从STMicroeletronics下选择STM32F207VC,如下图:
图4 单击OK后弹出一对话框,选择是否让MDK自动生成启动文件startup_stm32f2xx.s到工程,这里因为之前的目前下已有启动文件,因此这里选否。( ?0 R. \/ x, m 首先将工程将改名为Demo,然后再点击工具栏上的Manage Conponents...按键,如下图红色圈上的部分:
图5 打开如下界面: / `* h$ m. x& {- _* @) j0 A
* _4 \. ^! f6 }' Z J& X0 q 图6 接下来就是为工程添加组和源文件了,首先添加四个组:Lib,User,CMSIS,StartUp. 然后为各个组添加源文件: Lib->添加APP\Libraries\STM32F2xx_StdPeriph_Driver\src下所有源文件,当然后也可以根据需要只选择部分文件。 User->添加APP\User目录下所有源文件,但system_stm32f2xx.c除外,因为此文件在接下来的CMSIS组中将会添加到。 CMSIS->添加APP\Libraries\CMSIS\CM3\CoreSupport目录下的core_cm3.c文件 添加APP\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx目录下的system_stm32f2xx.c文件。 StartUp->添加APP\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\startup\arm目录下的startup_stm32f2xx.s文件. 这样一来就添加完所有文件了., `1 T& t9 _8 y! e' Z) P 点击工具栏上的Target Options..按钮,如下图红色圈上的部分:
+ @: d9 I9 K; W 图7 弹出如下对话框,选择C/C++选项卡,在Preprocess Symbols下的Define:栏中加入USE_STDPERIPH_DRIVER宏,在Include Paths下添加包含路径,如下图: 注:宏USE_STDPERIPH_DRIVER在头文件stm32f2xx.h中可以找到,它的含义是打开标准外设固件库,当然后也可以在stm32f2xx.h修改使此宏打开,但不推荐这么做.
图8 其中包含路径都是头文件所有目录,如下图:
* l1 q# M6 f8 Q' `8 ]6 s 图9 然后设置输出目录与列表清单目录. 在Output选项卡下点击Select Folder for Objects..按扭,然后选择APP\Project\Obj目录做为输出目录. 在Listing选项卡下点击Select Folder for Listings...按扭,然后选择APP\Project\List目录做为列表清单目录. 到此时,所有工程设置基本设置完毕,接下来就是编译烧录了. 第六步:编译工程点击编译,发现有错误,在main.c文件中注释掉#include "stm32_eval.h"就可以了.
然后可以编译通过.$ n: ~9 {8 D3 O% N: l3 K 9 a9 i' ^+ |: P" i 完毕! 2 h2 T( P7 E+ C2 z |
stm32f207/stm32f407擦除内部flash讲解
【经验分享】STM32F2 中 DMA 的 FIFO 模式
STM32F2x7 通过以太网实现在应用中编程 (IAP)
STM32F2xx 微控制器中的 EEPROM 模拟
在 STM32 F0、 F2、 F3、 F4 和 L1 系列MCU 中使用硬件实时时钟 (RTC)
STM32F1xx、STM32F2xx、STM32F4xx、STM32L1xx、STM32F30/31/37/38x 定时器概览
使用 STM32F2xx 和 STM32F4xx 微控制器时如何提高 ADC 测量精度
使用 STM32F2 和 STM32F4 DMA 控制器
STM32F2x7 通过以太网实现在应用中编程 (IAP)
STM32F2xx 微控制器中的 EEPROM 模拟