×
嵌入式 > 嵌入式开发 > 详情

STM32的MDK工程建立

发布时间:2020-09-23 发布时间:
|
折腾了两天,终于了解了整个固件库工程里的结构,把整个流程记录下来以备以后查看

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页的仿真器选项



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
scsi接口