1.首先新建一个文件夹用来存放工程,可以命名为Template,在该文件夹里新建一个USER文件,然后打开MDK,新建项目命名为Template保存到USER,然后选择对应的芯片,因为我用的是正点原子战舰款,所以我选择STM32F103ZE,然后保存。
2.在Template文件夹里新建3个文件夹分别命名为CORE,OBJ,STM32F103X_FWLib,其中OBJ用来存放编译产生的文件,STM32F103X_FWLib用来存放库函数源码文件,CORE用来存放核心文件和启动文件,USER 目录除了用来放工程文件外,还用来存放主函数文件 main.c,以及其他包括 system_stm32f10x.c 等等。
3.将STM32F10x_StdPeriph_Lib_V3.5.0? \? Libraries? \? STM32F10x_StdPeriph_Driver 目录下面的 src,inc 文件夹 copy 到我们刚才建立的 STM32F10x_FWLib 文件夹下面。src 存放的是固件库的.c 文件,inc 存放的是对应的.h 文件,每个外设对应一个.c 文件和一个.h 头文件。
4.将STM32F10x_StdPeriph_Lib_V3.5.0? ?\? ?Libraries? ?\? ?CMSIS? ?\? ?CM3? ?\? ?CoreSupport 下面的 core_cm3.c 和文件 core_cm3.h 复制到 CORE 下面去。
然后STM32F10x_StdPeriph_Lib_V3.5.0? ?\? ?Libraries? ?\? ?CMSIS? ?\? ?CM3? ?\? ?DeviceSupport? ?\? ?ST? ?\? ?STM32F10x? ?\? ?startup? ?\? ?arm 下面,将里面 startup_stm32f10x_hd.s 文件复制到CORE 下面,同样该处的hd文件是根据芯片FLASH容量的大小确定的。
5.将 STM32F10x_StdPeriph_Lib_V3.5.0? ?\? ?Libraries? ?\? ?CMSIS? ?\? ?CM3? ?\? ?DeviceSupport? ?\? ?ST? ?\? ?STM32F10x 下的三个文件 stm32f10x.h??,system_stm32f10x.c??,system_stm32f10x.h??,复制到 USER 目录之下。
然后将 STM32F10x_StdPeriph_Lib_V3.5.0? ?\? ?Project? ?\? ?STM32F10x_StdPeriph_Template 下面的 4 个文 件 main.c??,stm32f10x_conf.h??,stm32f10x_it.c??,stm32f10x_it.h 复制到 USER 目录下面。
6.将保存的文件都添加到MDK中,并指定头文件的路径,指定编译所生成文件存放在OBJ文件夹中。
7.将 STM32F10X_HD,USE_STDPERIPH_DRIVER 添加到宏定义当中,其中的HD因芯片而异,和前面一样。
8.将工程文件夹中 main.c 的内容复制粘到MDK中的 main.c ,并把 SYSTEM 文件夹复制到 Template 文件夹下,然后将 SYSTEM 添加到MDK,并声明头文件。
|