一、环境 1.IDE开发环境::uVision V5.25.2.0) o4 Q- Q" W, y+ _! \% z 2.标准库:STM32F0xx_StdPeriph_Lib_V1.5.07 Z& p% E1 t% e4 q 3.单片机:STM32F072RBT6 4.仿真器:JLINK_OB8 p6 P6 o+ F% G% m, x: Z2 G1 O 7 H/ j; f) X* u9 T& q2 x: \ 二、图文详解新建工程步骤 1.新建工程文件夹并命名,例如test。- d, v/ {2 o1 f8 q2 ^: V3 T 2.打开工程文件夹test,在里面新建五个文件夹。 INC: 用于存放 .h头文件2 K" S( o+ I+ D$ }9 z SRE: 用于存放 .c 源文件% M q2 G1 C4 D. Q; G& X$ U3 A6 H MDK: 用于存放工程文件/ R3 U; `* }% q: U OUTPUT: 用于存放输出文件,例如bin文件和hex文件等 DOC: 用于存放工程文档说明,比如历史版本修改记录,通信协议等 3.打开标准库文件,将Libraries文件夹复制到test工程文件夹下。 0 \) _5 F& t) B% }7 W 4.将标准库目录【STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Templates】下的main.h、stm32f0xx_it.h和stm32f0xx_conf.h头文件复制到刚刚新建的INC目录下。* w* I( D! d- ?7 C: _1 X& G+ B % ^# X7 p7 x5 X# y s: Y( N2 l 5.将标准库目录【Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm】下的startup_stm32f070xb.s启动文件复制到刚刚新建的MDK目录下。 / U( Z/ e5 |" E1 { ##### 6.将标准库目录【STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Templates】下的main.c和stm32f0xx_it.c源文件复制到刚刚新建的SRE目录下。8 C, g! F! P0 X2 c6 q 7.打开MDK5,点击新建工程。 8.给工程命名并选择保存在MDK文件夹中。 9.弹出的对话框选择对应芯片。 10.点击OK之后,弹出的对话框直接叉掉。& F- E0 }: }) G$ Z/ c' E% u# X & _. _( A; \' F! L }7 B 11.点击如下图标,编辑工程目录结构。4 `; N& A8 D) m9 r p / P0 m" K* G% s4 }0 T' V0 r1 E3 T3 a 12.编辑工程目录结构如下。* o) o* ^8 |! C5 J8 L 13.给工程添加文件。 将MDK中startup_stm32f072.s启动文件添加到Startup文件夹中。, J. z" \" B# c 将Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates中的system_stm32f0xx.c文件添加到CMSIS文件夹中。, y5 A, ^- G# X! u' r3 G 根据项目需求有选择的将外设库函数文件Libraries\STM32F0xx_StdPeriph_Driver\src添加到STDLIB文件夹中。 将SRE文件夹中的main.c和stm32f0xx_it.c文件添加到User文件夹中。" X% y7 ?7 y7 V* T: x3 H) [3 Y$ Y 将DOC文件夹中文件添加到DOC文件夹中。 k( s9 M5 u+ F# B' I - \: |3 V1 e" `! l3 J 14.点击魔术棒按钮,开始配置工程。5 p( [: u& i2 i( p# o0 f0 q 6 O7 x% A" T% \: d # J8 U8 G# m% ] `' Y' a 15.点击Output,将输出文件保存在OUTPUT文件夹中。 . U/ b2 l0 Q) ]% o& i 16.点击C/C++,在Define中添加USE_STDPERIPH_DRIVER,STM32F072。 17.点击C/C++,然后再点击Include Paths。 ' S; t' F8 w! e/ l9 }: v! V0 L; } 0 c; a/ f9 m2 p5 D3 l- M 18.最后点击保存,然后编译,看到"..\OUTPUT\test.axf" - 0 Error(s), 0 Warning(s).就表明大功告成啦。 3 F, v2 k+ a( ~" {. V |
【经验分享】STM32F1和STM32F4 区别
【经验分享】STM32F1系列之常用外设说明
【经验分享】STM32介绍
【经验分享】STM32F1x系列——Flash 模拟 EEPROM
【经验分享】STM32F1在MDK下新建标准库函数工程
【经验分享】stm32f1的存储器与复位
【经验分享】STM32F10X-架构
【经验分享】stm32F1 us延时函数
【经验分享】STM32F1之定时器
【经验分享】【stm32】stm32f1代码中core_cm3、system_stm32f10x、stm32f10x_conf、stm32f10x等文件的作用