【2015-1-14】STM32学习之新建工程模板

在初学STM32的时候,我们可以先学习如何建一个工程模板,以后写程序的时候直接是在现有的工程模板上添加程序。

首先我们应该到ST官方网站下载ST库源码,这里使用的是3.5库版本。

① 点击桌面UVision4 图标,启动软件。如果是第一次使用的话会打开一个自带的工程文件,我们可以通过工具栏Project->Close Project 选项把它关掉。

② 在工具栏Project->New μVision Project„新建我们的工程文件

③ 我们将新建的工程文件保存在一个文件夹里面。首先我们建一个名为工程模板的文件夹,再在工程模板里面建几个文件夹:Doc、Libraries、Listing、Output 、Project、User


④ 在Project 文件夹里面再建一个RVMDK(uv4)文件夹,这个文件夹就是我们用来存放工程文件的,其中工程名字我在这里取为STM32,大家可以根据自己的爱好取名字


⑤ 接下来的窗口是让我们选择公司跟芯片的型号。我使用的开发板是野火ISO-MINI用的是STM32F101VE,有64K SRAM,512K Flash,属于高集成度的芯片。按如下选择即可。大家这么根据自己的芯片型号选择


⑥ 接下来的窗口问我们是否需要拷贝STM32 的启动代码到工程文件中,这份启动代码在STM32 系列中都是适用的,一般情况下我们都点击是,但我们这里用的是ST 的库,

库文件里面也自带了这一份启动代码,所以为了保持库的完整性,我们就不需要开发环境为我们自带的启动代码了,稍后我们自己手动添加,这里我们点击否


⑦ 此时我们的工程新建成功,但我们的工程中还没有任何文件。接下来我们需要在我们的工程中添加所需文件



⑧ 在工程模板文件夹下,我们在刚开始建的文件夹下添加我们所需要的文件


Doc 用来放一些说明文件,对工程做一些简单的说明,一般文件格式为XXX.TXT,一般习惯用readme.txt。

USER 用来存放用户写的驱动文件。其中还包含了下面这四个文件:main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h


Libraries 用来放ST 库里面最核心的文件,里面包含了FWlib 和CMSIS 这两个文件夹


FWlib:用来存放STM32 库里面的inc 和src 这两个文件,这两个文件包含了芯片上的所有驱动,Inc 和src 这两个文件夹也是直接从ST 的库里面复制过来的


inc 里面是ST 片上资源的驱动的头文件。如要用到某个资源,则必须把相应的头文件包含进来


src 里面是ST 片上资源的驱动文件。这些驱动里面涉及了大量的c 语言的知识,是我们学习库的重点

CMSIS 用来存放库为我们自带的启动文件和一些M3 系列单片机通用的文件。CMSIS 里面存放的文件适合任何M3 内核的单片机。

CMSIS 的缩写为: Cortex Microcontroller Software Interface Standard,是ARM Cortex 微控制器软件接口标准,是ARM 公司为

芯片厂商提供的一套通用的且独立于芯片厂商的处理器软件接口。



其中startup 文件夹下的文件是从ST 库里面复制过来的,路径如下红框中所示


core_cm3.c 和core_cm3.h 这两个文件也可从ST 库里面复制过来,路径如下



stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h 这三个文件也可从ST 库里面复制过来,路径如下,


Output 用来保存软件编译后输出的文件,当我们编译出的.axf 或者.hex 文件就放在这个文件夹,

.axf 是JLINK 下载程序用到的文件,.hex 则为串口下载用到的文件,现在暂时为空。

Listing 用来存放一些编译过程中产生的文件,暂时为空

现在我们就已经基本完成了往模板里面添加库文件的工作。

⑨ 回到我们刚刚新建的工程界面,把刚刚那些文件夹里面的内容添加进工程,这样我们在MDK 界面里面就可以管理那些文件了。

1. 把Target 的名称改为Template。如果我们建的工程是LED 的就改为LED,其实不改也可以,改了只是为了见名知义。

2. 往工程里面添加5 个组文件夹,并命名为STARTUP、CMSIS 、FWLIB 、USER 、DOC



从名字就可以看得出STARTUP 是用它来放我们的启动代码的,USER 用来存放用户自定义的应用程序,FWlib 用来存放库文件,CMSIS 用来存放M3 系列单片机通用的文件。

3. 接下来我们往这些新建的组中添加文件,双击哪个组就可以往哪个组里面添加文件,如果该组里面已经有文件的话,双击则把组里面的文件都显示出来,然后再双击该组的话,则可以继续添加文件。

a.添加启动文件

b.CMSIS内添加文件

c.FWLIB内添加文件

e、往USER 文件夹下添加文件

e、往DOC文件夹下添加文件

至此,我们的工程已经基本建好,但是还有一些工作需要完成。下面来配置一下MDK 的配置选项,点击工具栏中的魔术棒按钮。

1)在Target 这个选项卡中,把微库的勾打上,这样是为了后面的串口例程可以使用printf 这个函数


2) Output 选项卡如下设置。点击Select Folder for Objects... 设置编译后输出文件保存的位置。同时把Debug Information 、Create HEX File 和Browse information 这三个选项框也选上。

3) 在Listing 这个选项卡中,点击Select Folder listings…定位到模板中的Listing 文件夹

4)在C/C++这个选项卡上需要设置的比较

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

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

此,我们的工程模板就建成了。学会新建工程,是学习stm32 的第一步。


最后我们还需要完成硬件调试的配置

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


到了这里就算是大功告成了!!











  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值