STM32开发环境--使用MDK建立一个工程

Posted Brianzhangzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32开发环境--使用MDK建立一个工程相关的知识,希望对你有一定的参考价值。

STM32开发环境--使用MDK建立一个工程

该工程模版是基于库函数基础制作而成,其中有借鉴相关资料。虽然工程模版一旦建立,以后任何项目只需套用即可,但考虑到长时间不使用,在将来某天可能会突然用到,再查询资料搭建比较费时间和精力。故在此做一个简单的教程,在方便自己以后查阅的同时,也希望可以帮助到别人。另水平有限,如有错误,欢迎指正!

声明:此文章为本人笔记,如若按照本教程制作出工程模版,在具体工程中造成任何损失,本人概不负责。

1、 工程使用相关资料说明:
a) 软件工具:MDK 5

技术分享

b) STM官方库版本: STM32F10x_StdPeriph_Lib_V3.5.0

??下载链接:

c) 借鉴正点原子的SYSTEM文件夹,包含功能有:延时函数、位带操作、串口  打印代码的库函数文件
2、 先在电脑任意位置创建一个工程文件夹。架构如下图所示:

技术分享

说明:

ProjectNameExample:此为整个工程项目命名,可为任意文字;

V1:版本号,方便后期项目升级,可直接将V1文件夹复制成为V2.0等,命名可为任意文字;(可以不要)

CAREM3:此文件夹用于存放care—M3内核文件和启动文件之用。命名建议为字母、数字、下划线;汉字是否可以,未经测试;

HARDWARE:此文件夹中存放自创相关库函数使用,具体使用后面会有介绍;命名建议为字母、数字、下划线;

OBJ:此文件夹中是存放工程编译的中间文件以及最终生成的.hex文件,工程中需选择存放于此,后面会有介绍。命名建议为字母、数字、下划线;

STM32F10x_FWLib此文件夹是存放部分STM官方库文件;命名建议为字母、数字、下划线;

SYSTEM:上文已有介绍。(可以不要)

USER存放格式为.uvprojx的工程文件以及main.c文件和重要STM官方库文件;

3、 打开安装MDK软件选择Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹USER选择工程名为ProjectName(命名可以任意起)。如下图所示

技术分享

技术分享

4、 点击保存后会弹出一个画面(如下图),此时选择MCU型号(我这里选择的是STM32F103C8T6

技术分享

5、 点击“OK”后会弹出一个画面,如下图直接点击取消即可。此画面为引导配置,个人觉得不好用所以直接取消。

技术分享

6、 然后再打开刚刚创建的工程文件夹会发现USER目录下包含以下4个文件

技术分享

接下来很重要了!需要将STM官方库STM32F10x_StdPeriph_Lib_V3.5.0文件夹中相关*.c\*.h等源码拷贝到工程文件下,具体操作如下:

1. CAREM3:中包含有3个文件;在STM官方库STM32F10x_StdPeriph_Lib_V3.5.0文件夹的路径:

技术分享

1和2两个文件位置:

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport

??3文件的位置:

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

?注:文件3启动文件,需要根据不同容量的MCU去选择

?startup_stm32f10x_ld.s:小容量,一般为16K~64K的MCU使用。

startup_stm32f10x_md.s:中容量,一般为64K~128K的MCU使用。

startup_stm32f10x_Hd.s:大容量,一般为256K~512K的MCU使用。

2. HARDWARE:此文件夹中存放自创相关库函数使用,工程模版中可为空。本人在该文件夹下放了两个自己创的函数模块beep和led两个文件夹,分别封装的是蜂鸣器和led灯的端口配置情况的函数。建议大家每一个功能的.c和.h文件单独配置一个文件夹,方便后期查看和使用。

技术分享

3. STM32F10x_FWLib:此文件夹是存放部分STM官方库文件,直接将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver包含的两个文件夹技术分享全部复制过来。其中inc中包含的是函数库中的.h文件,src中包含的是函数库中的.c文件。
4. USER:除了存放格式为.uvprojx的工程文件外,还需存放3个.c文件和.h文件。拷贝地址:

STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 

技术分享

注:拷贝完毕后,需要将main.c打开,将里面已有的源码全部清除。然后将main.c保存。

7、 接下来就需要在MDK软件进行相关配置了。

技术分享

打开刚刚的USER目录下的技术分享,然后鼠标在工程中右键选择技术分享会弹出一下界面在弹出的界面需要进行相关文件的添加。具体操作如图所示。

技术分享

?注:在为CAREM3添加文件时有点特殊,因为其他文件夹都是添加.c文件,而这个里面还要添加一个.s的启动文件。具体操作如下图所示:

技术分享

完成以上操作后,点击魔术棒技术分享弹出如下画面,点击技术分享按照图片进行配置。

技术分享

然后在切换至技术分享界面。然后按照下图step 1~4进行配置。其中要特别注意step 2 step 4 所有设置完成一定要点击“ok”

技术分享

8、 在main函数中添加如下代码,点击编译,若没有错误,工程模版即建立完成。若有错误请按照上述步骤查找问题原因,修改完成后重新编译之前需要将“V1”中“OBJ”中所有编译产生的中间文件全部删除掉后重新编译。

技术分享

9、 完成。

以上是关于STM32开发环境--使用MDK建立一个工程的主要内容,如果未能解决你的问题,请参考以下文章

STM32F407开发板用户手册第4章 STM32F407工程模板建立(MDK5)

STM32F407开发板用户手册第4章 STM32F407工程模板建立(MDK5)

Eclipse中STM32工程建立步骤

正点原子STM32(基于HAL库)0

初识STM32--MDK5下使用V3.5库新建工程

STM32开发-MDK新建工程及配置