初学STM32,把建立工程步骤总结一下(基于固件库:STM32F10x_StdPeriph_Lib_V3.5.0):
第一步,建立工程文件夹,在其子文件夹内拷贝并整理好相应的文件。
1.1、建立工程文件夹,将它命名为"STM32-Template"。
1.2、在"STM32-Template"下分别建立"User"、"Lib"、"CMSIS"、"List"及"Output"这四个文件夹。
1.3、将固件库中"Libraries\STM32F10x_StdPeriph_Drever"文件夹下的inc和src这两个文件夹拷贝至上一步建立的"Lib"文件夹下。
1.4、将固件库中"Project\STM32F10x_StdPeriph_Template"内的"main.c"、"stm32f10x_conf.h"、"stm32f10x_it.h"、"stm32f10x_it.c"、"system_stm32f10x.c"全部文件拷贝至第1.2步建立的"STM32-Template\User"文件夹下。
1.5、在"STM32-Template\CMSIS"下建立"startup"文件夹,
把"Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm"的文件全部拷贝到刚才建立的"startup"文件夹下;
把"Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x"文件夹下的"stm32f10x.h"、"sytem_stm32f10x.c"、"system_stm32f10x.h"拷贝到文件夹"STM32-Template\CMSIS"下;
把"Libraries\CMSIS\CM3\CoreSupport"文件夹下的"core_cm3.c"和"core_cm3.h"也拷贝到"STM32-Template\CMSIS"文件夹下;
至此,第一步已经完成。
第二步,建立Keil工程。
2.1、"Project"-->"New μVision
Project...",将新建立的工程保存在步骤1.2时建立的"STM32-Template\User"文件夹下,并命名为"SEM32-DEMO"。
2.2、在弹出的"Select Device for 'Target1'..."对话框中,选择相应的器件,我使用的板子里的芯片是用STM32F103RB的,所以找到STMicroelectronics并选择STM32F103RB。确定完成后按"OK"。
2.3、在弹出的询问是否添加启动代码的对话框中,选"否"。因为我们使用固件库中的启动代码。
2.4、把"Target"改为"STM32-DEMO",在"STM32-DEMO"下建立四个Groups: "CMSIS"、"User"、"Lib"、"StartUp"。通过双击可以在相关组中添加文件:
在"CMSIS"Group添加如下两个C文件:"\STM32-Template\Lib\CMSIS\core_cm3.c"以及"\STM32-Template\DMSIS\system_stm32f10x.c"。
在"User"Group下添加如下两个c文件:"\STM32-Template\User\main.c"和"\STM32-Template\User\stm32f10x_it.c"。
在"Lib"Group下添加"STM32-Template\Lib\src"下的全部驱动文件。在"StartUp"Group下添加"\STM32-Template\CMSIS\startup\startup_stm32f10x_hd.s"启动文件。
2.5、点击"Target Options..."按钮,作如下设置。
"Output"标签下",Select Folder for Objects..."选择步骤1.2时建立的"Output"文件夹作为保存路径。
"Listing"标签下,"Select Folder for Listings..."选择步骤1.2时建立的"List"文件夹作为保存路径。
"C/C++"标签下,"Define"后填写"USE_STDPERIPH_DRIVER, STM32F10X_HD";"Include Paths"内添加"..\CMSIS"、"..\User"、"..\Lib\inc"、"..\Lib\src",添加完成后点击"OK"。
完成所有设置后,点击"OK"。
到此为止,工程已建立完成。