折腾了两天,总算了解了整个固件库工程里的结构,把整个流程记录下来以备今后检查
1、在MDK中树立一个新工程,指使芯片
2、增加发动文件,坐落..\STM32F10x_StdPeriph_Lib_V3.2.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm中。
注:这儿运用的是MDK,假如运用其他编译东西GNU或IAR可在对应文件夹下找到
3、增加STM32F10x_StdPeriph_Lib_V3.2.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c及\STM32F10x_StdPeriph_Lib_V3.2.0\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c到工程中,可树立一个group(CMSIS)。这两个文件是编译链接startup文件有必要的函数。
4、增加main.c、stm32f10x_it.c到group Usr下,这部分是用户自己编程的当地
5、装备stm32f10x_conf.h文件,增加有必要的外设文件,一起把对应的ppp.c文件参加工程
6、在工程特点中C/C++特点页的include paths中参加固件库对应的*.h文件地点的文件夹(用于编译时链接,否则会链接到MDK自带的库,通常情况下会呈现版本不匹配的现象,导致编译不成功)。增加完后会在下方的compiler control string 栏里看到一个编译选项 -I..\..\project -I “D:\Mysoftware\keil\ARM\INC\ST\STM32F10x” 。其间 -I..\..\project为自己增加的目录,-I “D:\Mysoftware\keil\ARM\INC\ST\STM32F10x”为MDK默许的方位(最好不要用)
7、在工程特点中C/C++特点页的define栏参加要装备的宏界说,比方USE_STDPERIPH_DRIVER(运用ST的固件库), STM32F10X_MD_VL(芯片类型,详细分类看固件库手册)
8、在Target特点页选中Use MicroLIB(这个的效果为什么我也不知道:p)
有了上述的设定就可以编译成功了
要下载程序,需求设置utilities页的仿真器选项
相同,调试程序需求设置debug页的仿真器选项