stm32建立工程.docx
《stm32建立工程.docx》由会员分享,可在线阅读,更多相关《stm32建立工程.docx(14页珍藏版)》请在冰豆网上搜索。
![stm32建立工程.docx](https://file1.bdocx.com/fileroot1/2023-1/23/47a632c1-89d3-4bc9-964b-8bc265a2b0c7/47a632c1-89d3-4bc9-964b-8bc265a2b0c71.gif)
stm32建立工程
1点击UVision4projectnewuvisionproject,保存在桌面的stm32文件/user文件下(先在桌面建立stm32文件,在里面再建立user文件),取名字STM32_lession1(随意取名)。
点击保存。
2选择芯片型号:
选ST公司的STM32F103VET6,有64KSRAM,512KFLASH,
接下来的窗口问我们是否拷贝STM32的启动代码到工程文件中,这份代码在M3系列中都是适用的,一般情况下我们都点是,但这里我们用的是ST的库,库文件里面也自带了这一份启动代码,所以为了保持库的完整性,我们就不需要开发环境为我们自带的启动代码了,稍后我们自己手动添加,这里点击否。
此时新建工程成功,如下:
3在桌面的STM32文件夹下,新建四个文件夹,分别为:
FWLib、CMSIM、Uotput、listing。
4把库3.5.0/3.5.0/STM32F10X_Stdperiph_lib_V3.5.0/Libearies/STM32F10X_StdPeriph_Driver的inc和src这两个文件夹拷贝到FWlib文件夹中。
5把库3.5.0/3.5.0/STM32F10X_Stdperiph_lib_V3.5.0/Project/STM32F10X_StdPeriph_Template下的main.c、stm32f10x_it.h、stm32f10x_it.c、stm32f10x_conf.h、system_stm32f10x.c拷贝到USER文件夹下。
6把库3.5.0/3.5.0/STM32F10X_Stdperiph_lib_V3.5.0/Libearies/CMSIS/CM3/DeviceSupport/ST/STM32F10X/startup/arm下的全部文件拷贝到CMSIS/startup文件夹下。
STM32F103VET6,有512KFlash,属于大容量的,工程中把startup_stm32f10x_hd.s添加到工程文件中。
根据ST官方资料:
Flash在16~32kbytes为小容量,64~128kbytes为中容量,256~512kbytes为大容量,不同的Flash对应的启动文件不一样,这点需要注意。
7把库3.5.0/3.5.0/STM32F10X_Stdperiph_lib_V3.5.0/Libearies/CMSIS/CM3/CoreSupport下的core_cm3.c和core_cm3.h拷贝到CMSIS文件夹下。
8把库3.5.0/3.5.0/STM32F10X_Stdperiph_lib_V3.5.0/Libearies/CMSIS/CM3/DeviceSupport/ST/STM32F10X的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h拷贝到CMSIS文件夹下。
至此,
9回到MDK工程中,将Target改为STM32_lession1.
10在stm32_lession1中右击addgroup选项,新建四个组,分别命名为startcode、user、fwlib、cmsis。
11接下来往这些新建组中添加文件,双击那个组往那个组里面添加文件。
Startcode添加:
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文件,头文件是不需要添加的。
最终效果如下:
至于有些有个锁的图标,是因为这些都是库文件,不需要我们修改,属性为只读,至此,我们的工程已经基本建好,下面来配置MDK的配置选项。
12
点击SelectFolderforObjects,设置编译后保存在OUTPUT文件夹下。
同时把CreateHexfile和Browseinformation这两个选项框也选上。
13同样在Listing这个选项卡中,也点击SelectFolderlistings定位到模板中的listing文件夹下。
14选中
选项卡,在Define里面输入添加USE_STDPERIPH_DRIVER,STM32F10X_HD。
添加USE_STDPERIPH_DRIVER是为了屏蔽编译器的默认搜索路径,转而使用我们添加到工程中的ST的库,添加STM32F10X_HD,是因为我们用的芯片是大容量的。
15在IncludePaths栏点击
,在这里添加库文件的搜索路径,这样就可以屏蔽默认的搜索路径。
但当编译器在我们指定的路径下搜索不到的话,还是会回到标准目录去搜索,就像有些ANSICC的库文件,如stdin.h、stdio.h.
16修改main.c文件。
因为刚刚我们的main.c文件是从官方库里复制过来的,里面有许多的东西我们是不需要的,为了简化main.c文件,我们修改如下:
/*******************************************************************
*文件名:
main.c
*描述:
用3.5.0版本建的工程模板
*实验平台:
stm32f103vet
*库版本:
3.5.0
作者:
Tata
***************************************************************/
#include"stm32f10x.h"
intmain(void)
{
while
(1);
}
至此,我们的工程模板就建成了。
17J-LINK调试:
在Debug/Setting/Flashdownload中我们设置如下:
18编译文件:
Build,
19下载程序:
JLINK下载,将BOOT0拨到GND那端,
串口下载:
将BOOT0拨到VCC,下载完程序后,将BOOT0开关拨到GND。
JLINK下载:
下载成功后,程序会自动运行,如果没有运行,则可按下开发板的复位键。
这里要注意的是:
程序在烧写到开发板后是否自动运行,是可以在MDK开发环境:
TargetOptions…->Debug->Setting->FalashDownLoad中设置的:
串口下载:
选择串口、波特率、HEX文件。
点击开始编程按钮,如果下载成功则会打印出下面右边框中的信息。
到这里大功告成。
精品文档word文档可以编辑!
谢谢下载!