作者:iARM
转自:http://blog.chinaunix.net/uid-22670933-id-1771586.html
1.首先建立工程目录,假设为STM32_NEW
2.在该目录下建立RVMDK子目录,用来存放MDK工程以及编译生成的文件和调试信息
3.在RVMDK目录下建立2个子目录:output和listing
4.将从ST官网下载的STM32F10x_StdPeriph_Driver V3.3.0压缩中的Libraries并解压缩,拷贝Libraries目录到工程目录下(STM32_NEW).
5.如果要用到DSP库,请安装DSP库后将安装目录下Libraries目录下的STM32F10x_DSP_Lib文件夹复制到Libraries\ ( 这里没有用)
这个时候的目录结构如下:
--STM32_NEW
| --RVMDK
|--Libraries
|--CMSIS
|--STM32F10x_StdPeriph_Driver
6.打开MDK,选择菜单“Project”->"New μVision Project",将工程名设置为"STM32"保存工程到,STM32_NEW\RVMDK目录下,根据实际情况选择对应的CPU型号,我这里选择STM32F107VC。
在弹出窗体"Copy STM32 Startup Code to Project Folder and Add File to Poject"中选择"否"
7.右键单击工程名称,打开"Manage Components"窗体,或点击工具栏上的品字图标。
将Project Targets下的"Target 1"改名为"STM32"
清空"Groups"下项目,并新建"libraries","RVMDK",,"CMSIS","USR"条目
点击"确定",关闭窗体
8.为""RVMDK"文件夹添加文件,对"RVMDK"单击右键,选择"Add Files to Group"RVMDK""
将..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录下的所有.s文件添加到RVMDK组下面
根据CPU类型,选择合适的启动文件。
例如对于STM32F107VC选择startup_stm32f10x_cl.s文件。
其他的.s文件,逐一对其点右键,选择"Options for File xxxx",在""Properties"选项卡下取消"Include in Target Build"前的勾选。
2.在该目录下建立RVMDK子目录,用来存放MDK工程以及编译生成的文件和调试信息
3.在RVMDK目录下建立2个子目录:output和listing
4.将从ST官网下载的STM32F10x_StdPeriph_Driver V3.3.0压缩中的Libraries并解压缩,拷贝Libraries目录到工程目录下(STM32_NEW).
5.如果要用到DSP库,请安装DSP库后将安装目录下Libraries目录下的STM32F10x_DSP_Lib文件夹复制到Libraries\ ( 这里没有用)
这个时候的目录结构如下:
--STM32_NEW
| --RVMDK
|--Libraries
|--CMSIS
|--STM32F10x_StdPeriph_Driver
6.打开MDK,选择菜单“Project”->"New μVision Project",将工程名设置为"STM32"保存工程到,STM32_NEW\RVMDK目录下,根据实际情况选择对应的CPU型号,我这里选择STM32F107VC。
在弹出窗体"Copy STM32 Startup Code to Project Folder and Add File to Poject"中选择"否"
7.右键单击工程名称,打开"Manage Components"窗体,或点击工具栏上的品字图标。
将Project Targets下的"Target 1"改名为"STM32"
清空"Groups"下项目,并新建"libraries","RVMDK",,"CMSIS","USR"条目
点击"确定",关闭窗体
8.为""RVMDK"文件夹添加文件,对"RVMDK"单击右键,选择"Add Files to Group"RVMDK""
将..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录下的所有.s文件添加到RVMDK组下面
根据CPU类型,选择合适的启动文件。
例如对于STM32F107VC选择startup_stm32f10x_cl.s文件。
其他的.s文件,逐一对其点右键,选择"Options for File xxxx",在""Properties"选项卡下取消"Include in Target Build"前的勾选。
(原文件名:1.JPG)
9.为CMSIS添加下面的文件:
..\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c
..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
10.为"libraries"添加下面的文件( 也可以加全部库文件):
..\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c
..\Libraries\STM32F10x_StdPeriph_Driver\stm32f10x_gpio.c
..\Libraries\STM32F10x_StdPeriph_Driver\stm32f10x_flash.c
..\Libraries\STM32F10x_StdPeriph_Driver\stm32f10x_rcc.c
根据自己工程要用到的功能,添加其他驱动文件
11.为DSP添加下面的文件: ( 没有处理)
..\Libraries\STM32F10x_DSP_Lib\src\asm\arm\cr4_fft_64_stm32.s
..\Libraries\STM32F10x_DSP_Lib\src\asm\arm\cr4_fft_256_stm32.s
..\Libraries\STM32F10x_DSP_Lib\src\asm\arm\cr4_fft_1024_stm32.s
12.新建main.c文件,该文件存入STM32_NEW目录,并添加该文件到工程的"App"组
13.从StdPeriph_Drvier库的例子中拷贝以下文件到STM32_NEW目录:
"stm32f10x_it.c"
"stm32f10x_it.h"
"stm32f10x_conf.h" // 该文件不是系统自带的,在Include Paths下设置,否则会报错
将stm32f10x_it.c添加到工程的"USR"组中
(原文件名:2.jpg)
14.打开工程属性窗口,或点击工具栏上的魔术棒图标
1)在output选项卡下Select Folder for Objects按钮,设置output目录为:RVMDK\output
2)在listing选项卡下select Folder for Listings按钮,设置listings目录为:RVMDK\listing
3)在C/C++选项卡下设置预处理符号 "USE_STDPERIPH_DRIVER,STM32F10X_CL" , 不要加这个(STM32F10X_CL),否则编译会出错:error: #20:identifier "RCC_PLLSource_HSE_Div1" is undefined。
STM32F10X_CL 这个符号需要根据CPU类型选择。
在Include Paths下设置:
..\; (非常重要,否则要出错,会使用到系统自带的头文件)
..\Libraries\CMSIS\CM3\CoreSupport;
..\Libraries\CMSIS\CM3DeviceSupport\ST\STM32F10x;
..\Libraries\STM32F10x_StdPeriph_Driver\inc;
..\Libraries\STM32F10x_DSP_Lib\inc
![](http://cache.ourdev.cn/bbs_upload226953/files_32/ourdev_574330.jpg)
(原文件名:3.jpg)
4)在Debug选项卡下选择编程器件
5)在Utilities选项卡下选择编程器件,添加FLASH Download 算法
15. 编写应用程序,在stm32f10x_conf.h中注释掉没有用到的硬件对应的.h头文件