环境:
- STM32F10x 3.5固件库。下载地址
http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zip
- MDK4.23 编译器
一、第一步新建工程 取名 NewProject
图1
二、选择芯片型号
图2
三、点否,不加载启动文件(后面我们自己手动添加)
图3
四、在工程下新建STM32LIB,OBJ,LIST,APP四个文件夹(文件名可自定)。
在STM32LIB文件夹下新建M3文件夹。
复制STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下
core_cm3.c core_cm3.h两个文件到M3文件夹中。
复制:
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下
stm32f10x.h system_stm32f10x.c system_stm32f10x.h 两个文件到M3文件夹中。
复制:
STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下
stm32f10x_conf.h 一个文件到M3文件夹中。
复制:
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm下 startup_stm32f10x_hd.s一个文件到M3文件夹中。
我用的芯片256k的FLASH。所以选择startup_stm32f10x_hd.s。
说明:
cl:互联型产品,stm32f105/107系列
vl:超值型产品,stm32f100系列
xl:超高密度产品,stm32f101/103系列 超大容量 512-1024K
ld:低密度产品,FLASH小于64K
md:中等密度产品,FLASH=64 or 128
hd:高密度产品,FLASH大于128-512
复制:
STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver下的inc和src两个文件夹到STM32LIB文件内
到这里需要复制的文件以经复制完了。下面来配置工程:
参图
图4
图5
图6
图7
先配置这些, 还有一项要等到 添加完成文件再配置。
现在向MDK中加载文件如图:
图8
如下图加载
图9
图10
点OK如下图
图11
Main.c文件内容:
1 int main(void) 2 { 3 4 }
继续配置先前没有配置完了部分。
如图12
这里做一定的说明:
为什么在define项中添加STM32F10X_HD,USE_STDPERIPH_DRIVER这两项?
define项是MDK的预宏定义栏。
注意:STM32F10X_HD,USE_STDPERIPH_DRIVER这两项中间是逗号隔开。
在stm32f10x.h中有这以下代码:
#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h" #endif
由此可只 添加USE_STDPERIPH_DRIVER宏定义是为了加载stm32f10x_conf.h文件。
代码可知,添加STM32F10X_HD宏是选定芯片内部资源定义。
到这里,新建工程就完成了,编译调试,无误后就开始代码之旅吧。