首页 > 代码库 > MDK建立STM32F103*开发模板
MDK建立STM32F103*开发模板
一、整体流程
1、获取ST库--STM32F10x_StdPeriph_Lib_V3.5.0
2、新建文件夹并加载文件
3、新建工程
4、给工程添加组
5、设置"Target Option"
6、设置Debug选项
二、获取ST库
这里用野火光盘提供的"ST库3.5.0源码"--STM32F10x_StdPeriph_Lib_V3.5.0。
三、新建文件夹并添加文件
先新建一个顶层文件夹Template,然后依次建立以下子文件夹。
1、DOC
此目录存放说明文档,对程序的一些简要说明、用法之类,通常放readme.txt。
2、Include
该目录集中存放头文件,将下面列出的库中的头文件拷贝到这个文件夹下。
STM32F10x_StdPeriph_Lib_V3.5.0/Librarys/CMSIS/CM3/CoreSupport/core_cm3.h
STM32F10x_StdPeriph_Lib_V3.5.0/Librarys/CMSIS/CM3/DeviceSupport/ST/STM32F10x/stm32f10x.h以及该目录下的system_stm32f10x.h。
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc下的所有头文件,比如说misc.h、stm32f10x_adc.h等。
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h以及该目录下的stm32f10x_it.h。
3、Libraries
再新建两个子目录:CMSIS和FWLIB
①CMSIS
存放ARM公司为cm3内核专一定制的内核文件接口,将下面列出的库中的文件拷贝到这个文件夹下。
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
再在CMSIS中新建一个子文件夹startup,将下面列出的库中的文件拷贝到这个文件夹下。
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm所有文件拷到该目录。
②FWLIB
存放STM32的外设库,将下面列出的库中的文件拷贝到这个文件夹下。
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src所有文件。
4、Listing
该目录是MDK生成信息输出目录,存放代码分布(.map和.lst)。
5、Output
该目录是MDK生成信息输出目录,存放目标文件(.o)、调试文件(.axf)、下载文件(.hex)、依赖文件(.d)等。
6、Project
再新建一个子目录RVMDK(uv4),将来MDK的工程就建在这个目录中。之所以这样处理,是因为可能将来我们会在IAR环境下编译程序,这个时候只需要在Project目录下新建一个针对IAR的目录,就可以方便的切换开发环境。
7、User
存放用户程序,以后写程序的文件存放在该目录,先把库中的用户程序添加进来,建立一个完整模板。
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\main.c和stm32f10x_it.c。
四、新建工程
1、点击MDK图标打开软件
2、Project->New uVision Project,将工程目录选择在Template\Project\RVMDK(uv4)
3、选择芯片为ST公司的STM32F103VE。
4、在新弹出的对话框--询问是否添加启动代码,我们选择"否"。
五、给工程添加组
1、建立5个分组,分别为STARTUP、SMSIS、USER、DOC、FWLIB。
2、对每个分组双击,然后添加文件。
这里只需要添加C文件和汇编文件(其中DOC目录除外),头文件不需要添加。通过“六、设置Target Option”,我们可以指定头文件搜索路径,来解决这个问题。而且,编译器会根据*.C文件生成对应的依赖文件。
六、设置Target Option
依次选择Project->Options for Target ‘Template’
1、Device
Device选择100脚的STM32F103VE
2、Target
晶振频率:8 MHz
Use MicroLIB:使用微库
片内Flash起始地址:0x8000000
片内Flash大小:0x80000
片内RAM起始地址:0x20000000
片内RAM大小:0x10000
3、Output
Select Folder for Objects: 可以选择输出文件夹
Name of Executable: 可执行文件的名字
4、Listing
Select Folder for Listing: 可以选择生成Lst的文件夹
5、C/C++
Define: 预处理宏
STM32F10X_HD 使用的芯片是大容量的
USE_STDPERIPH_DRIVE 为了使用ST库
Optimization 优化等级
Warngings 警告等级
Include Paths 头文件目录
compiler control string 可以查看编译命令
6、ASM
类似
7、Linker
R/O Base 代码段和只读数据段起始地址
R/W Base 数据段起始地址
Linker control string 可以查看连接命令
8、Debug
Use simulator 软件仿真
Use cortex-M3 J-LINK 用J-link硬件仿真