大家好,因为自身对STM32接触的较多,今天向大家介绍一下如何在MDK5上新建工程。
给小伙伴们推荐几个网址,对学习STM32很有帮助。
正点原子官方论坛;STM32中文论坛;MDK官方;正点原子B站教程
接下来给大家总结一下如何新建工程
我用的板子是STM32F10ZET6战舰版,基于固件库版本。
-
在电脑里新建一个文件夹Template(名字可以任取),在文件夹里在建一个文件夹,命名USER。
-
打开MDK,选择project—>新建,文件名任取,选择在刚刚新建的USER文件夹下,点击【保存】。
然后会弹出对话框,选择你的板子类型,这里注意不要选错,我的是STM32F103ZE系列,点击【OK】。
然后弹出的对话框点【取消】就好了。
-
在刚刚新建的工程目录下在新建三个文件夹:CORE、OBJ、stm32f103x_FWLIB.
-
接下来需要复制STM32的固件库包STM32F10x_StdPeriph_Lib_V3.5.0到工程目录下,下载地址:http://openedv.com/posts/list/6054.htm。下载后解压打开STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver。复制inc和src文件夹到自己建的stm32f103x_FWLIB文件夹下。
-
打开固件库包STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的两个文件
到工程目录的CORE文件夹下 -
复制启动文件到【CORE】文件夹
打开固件库包\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
这里说明一下,这几个文件是根据板子容量来区分的,hd是大容量(flash大于128KB),md是中等容量(64-128KB),ld是小容量(小于64KB)。STMF103都是大容量,所以选择startup_stm32f10x_hd.s -
复制一些文件到【USER】目录下,总共有7个文件需要复制。
打开固件库包\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x,选择这三个文件,复制到工程目录的USER文件夹下。
打开固件库包STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template
再复制4个文件到【USER】文件夹下
这样复制完,我们的【USER】文件夹下一共有7个文件
-
接下来在MDK中引用这些文件到工程中
打开MDK,如图所示,管理项目
然后增加分组,命名【CORE】,【USER】、【FWLIB】、【OBJ】如下图所示
然后是对每个分组增加文件,点击右侧【add Files】。
(1)USER分组:打开工程文件夹下的【USER】,选择三个C文件,点击【Add】然后关闭窗口就可以了。
(2)FWLIB分组:打开工程文件夹的【stm32f103x_FWLIB】->【src】文件夹,选择所有的文件,点击【Add】。
(3)CORE分组:打开工程文件夹的【CORE】文件夹,选择如图两个文件,点击【Add】。说明一下,文件后缀默认是C文件,这里需要在选择是将文件类型改成【ALL File】才能看到[startup_stm32f10x_hd.s]文件。
这样文件就全部引用到工程中了。 -
配置工程文件输出
如下图所示,弹框中选择【OutPut】选项,勾选【Create HEX File】,点击【Select Folder for Objects],选择自己建的工程目录下的【OBJ】文件夹,用于保存调试过程中生成的文件。 -
引用头文件
和上面的弹框一样,选择【C/C++】选项卡,添加头文件路径
将工程目录下的【CORE】、【USER】,【stm32f10x_FWLIB】—>【inc】(注意这里是【inc】目录,不要弄错)添加进来,如下图所示,点击【OK】。
-
全局宏定义
仍然是【C/C++】选项卡,输入STM32F10X_HD,USE_STDPERIPH_DRIVER,点击OK
这样就配置完成了,接下来点击main.c函数,可以将其清空,自己写个简单的。然后再点击编译调试,点击【构建】,生成目标文件,如果遇到了无法生成目标文件的错误,这时我们需要打开工程目录【OBJ】文件夹,将里面的文件全部删除,在重新点击【构建】。
这样整个工程就建立完成了,然后就可以自己进行编写程序啦。