STM32新建工程图文解说

 

STM32新建工程图文教程

http://115.com/lb/5lbbahmhypm#
STM32新建工程教程.pdf
115网盘礼包码:5lbbahmhypm

       重新整理:chengbozhe                    

资料来源:野火零死角玩转stm32-初级篇

时间:2013.11.15                    

准备工作:在意法半导体官网上下载3.5.0库http://www.st.com/web/cn/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890

STM32新建工程图文解说_第1张图片

1.新建文件夹STM32-Template用来存放工程中所有的文件)并在STM32-Template文件夹下,我们新建四个文件夹,分别为FWlibCMSISOutputListing。如图:

 

STM32新建工程图文解说_第2张图片

USER用来存放工程文件和用户代码,包括主函数main.c 

CMSIS用来存放库为我们自带的启动文件和一些M3系列通用的文件。

FWlib用来存放STM32库里面的incsrc这两个文件,这两个文件包含了芯片上的所有驱动。(firmware library 即固件库)

Listing用来存放一些编译过程中产生的文件,具体可不用了解。 

Output用来保存软件编译后输出的文件。

2点击图标,在工具栏Project->New μVision Project新建我们的工程文件),保存在STM32-Template\USER文件夹下,将工程名取为STM32-DEMO(英文DEMO的意思是例子),点击保存。 

3接下来芯片的型号,例如ST公司的STM32F103VET6,然后点击OK即可。 

4接下来的窗口问我们是否需要拷贝STM32的启动代码到工程文件中,点击

STM32新建工程图文解说_第3张图片

 

5 拷贝文件

stsw-stm32054.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driverincsrc这两个文件夹拷贝到STM32-Template\FWlib文件夹中。 

STM32新建工程图文解说_第4张图片

 

6

1stsw-stm32054.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下的 main.cstm32f10x_conf.hstm32f10x_it.h stm32f10x_it.c 拷贝到STM32-Template\USER目录下。

STM32新建工程图文解说_第5张图片

 

stsw-stm32054.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport中的core_cm3.ccore_cm3.h拷贝到STM32-Template\CMSIS文件夹下。 

stsw-stm32054.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10xstm32f10x.hsystem_stm32f10x.csystem_stm32f10x.h拷贝到STM32-Template\CMSIS文件夹下。

stsw-stm32054.zip\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm中的startup_stm32f10x_hd.s拷贝到STM32-Template\CMSIS下。

STM32新建工程图文解说_第6张图片

 

7

回到我们刚刚新建的MDK工程中,将Target改为STM32-DEMO(不改也行) 

STM32新建工程图文解说_第7张图片STM32新建工程图文解说_第8张图片

 

 

STM32-DEMO上右键选中Add Group选项,新建四个组,分别命名为STARTCODEUSERFWlibCMSIS。(也可点击图标进行文档编辑)

STARTCODE从名字就可以看得出我们是用它来放我们的启动代码的。

USER用来存放用户自定义的应用程序。

FWlib用来存放库文件。

CMSIS用来存放M3系列单片机通用的文件。 

8(也可点击图标进行文档编辑)

接下来我们往我们这些新建的组中添加文件,双击哪个组就可以往哪个组里面添加文件。

STARTCOKE组里面添加startup_stm32f10x_hd.s

USER组里面添加main.c 和 stm32f10x_it.c 

FWlib组里面添加src里面的全部驱动文件(当然,src里面的驱动文件也可以需要哪个就添加哪个,这里将它们全部添加进去是为了后续开发的方便,况且我们可以通过配置stm32f10x_conf.h 这个头文件来选择性添加,只有在stm32f10x_conf.h文件中配置的文件才会被编译)

CMSIS里面添加core_cm3.c system_stm32f10x.c文件。注意,这些组里面添加的都是汇编文件跟C文件,头文件是不需要添加的。最终效果如下图: 

STM32新建工程图文解说_第9张图片

 

9至此,我们的工程已经基本建好,下面来配置一下MDK的配置选项.

(1)点击工具栏中的魔术棒按钮,在弹出来的窗口中选中 

STM32新建工程图文解说_第10张图片

 

点击Select Folder for Objects... 设置编译后输出文件保存的位置。同时把 Create HEX File  Browse information这两个选项框也选上。

STM32新建工程图文解说_第11张图片

 

(2)同样在这个选项卡中,我们也点击 Select Folder listings…定位到模板中的Listing文件夹。

(3)选中选项卡,在Define 里面输入添加USE_STDPERIPH_DRIVERSTM32F10X_HD。 

STM32新建工程图文解说_第12张图片

 

添加USE_STDPERIPH_DRIVER是为了屏蔽编译器的默认搜索路径,转而使用我们添加到工程中的ST的库。

添加STM32F10X_HD是因为我们用的芯片是大容量的,添加了STM32F10X_HD这个宏之后,库文件里面为大容量定义的寄存器我们就可以用了。芯片是小或中容量的时候宏要换成STM32F10X_LD或者STM32F10X_MD。其实不管是什么容量的,我们只要添加上STM32F10X_HD这个宏即可,当你用小或者中容量的芯片时,那些为大容量定义的寄存器我不去访问就是了,反正也访问不了。

Include Paths栏点击,在这里添加库文件的搜索路径,这样就可以屏蔽掉默认的搜索路径。

STM32新建工程图文解说_第13张图片

 

但当编译器在我们指定的路径下 搜索不到的话还是会回到标准目录去搜索,就像有些ANSIC C 的库文件,如 stdin.h stdio.h

 

库文件路径修改成功之后如下所示: 

STM32新建工程图文解说_第14张图片

 

10修改main.c文件。因为刚刚我们的main.c文件是从官方库里面复制过来的,里面有许多的东西我们是不需要的,为了简化main.c文件,我们将修改如下。 

#include "stm32f10x.h" 

/* 

函数名:main 

描述 主函数 

输入 :无 

输出 无 

*/ 

int main(void

{

// add your code here ^_^

while(1); 

 

硬件调试配置

这个工程默认的是软件仿真,如果开发板要用J-LINK 调试的话,还需要在开发环境中做如下修改。实际上,我们开发程序的时候80%都是在硬件上调试的。 

具体配置如下图所示:点击,在Debug选项里

STM32新建工程图文解说_第15张图片

 

STM32新建工程图文解说_第16张图片

 

在选项卡Debug\Setting\Flash download 中我们设置成如下:

STM32新建工程图文解说_第17张图片

 

 

你可能感兴趣的:(STM32学习笔记)