1、首先下载一个固件库,我下载的是stm32f10x_stdperiph_lib 3.5V版的

2、新建一个文件夹,可命名为“STM32建工程库函数版本”

3、在“STM32建工程库函数版本”文件夹里面新建这几个文件夹,CMSIS(ARM Cortex™ 微控制器软件接口标准)、FWlib(库文件)、List(用于链接)、Obj(工程文件)、Output(输出hex文件)、User(存放用户代码函数)这六个文件夹。如图:

4、在CMSIS中建一个startup文件夹,用于存放启动文件

5、将固件库当中的core_cm3.c、core_cm3.h、system_stm32f10x.c、system_stm32f10x.h、stm32f10x.h复制到CMSIS文件夹当中,

     将startup_stm32f10x_hd.s 复制到CMSIS->startup文件夹中;

     将固件库中的inc和src文件夹复制到FWlib文件夹当中;

     将固件库的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h、system_stm32f10x.c、SysTick.c、SysTick.h、TIMER.c、TIMER.h复制到User文件夹当中;

6、打开Keil软件,在菜单栏里点击project 选择 new uVision project 新建工程

7、保存工程名,选择Obj文件夹, 文件名为project,不用加后缀格式,系统默认TIMER.c

8、接下来会弹出让你选择器件的窗口,这里我们选择STmicroelectronics 的 STM32F103VB

9、在project窗口右键点击Tagert 1 选择 manage conponents 

10、在Groups 框下面将Groups1 重命名为startup,将CMSIS->startup文件夹的startup_stm32f10x_hd.s添加进去;同时

      添加CMSIS, Libraries,User文件夹; 

     选择CMSIS 在Files框下将core_cm3.c与system_stm32f10x.h添加进去

     选择FWlib在Files框下将FWlib--->src文件下的所以文件都加进去添加进去; 

     选择User在Files框下将User文件下的所以文件都加进去添加进去;

10、以上的做完之后,回到工程,将startup下面的STM32F10x.s删掉;工程结构如下:

                  

 

11、新建main.c 保存到User文件夹里,将其添加到User工程名下。

     #include "stm32f10x.h"

     int main(void)

    {

         while(1)

           {;}

     }

12、在project框下,右键点击Target 1,选择Options for Target target1 

 

 在output 选项下,在create HEX file 前打上钩, 点击select Folder for Objects 选择输出文   件夹为 output文件夹; 

 在Listing选项下,点击select Folder for Listings 选择链接文   件夹为 List文件夹;

 在C/C++选项下, define里 填入 USE_STDPERIPH_DRIVER,STM32F10X_MD 中间用英  文的逗号;

 Include Paths 里,点击右边的文件路径框 ,选择相应的CMSIS, libraries 里的INC 和SRC 还有 User ;