MDK 5.25 新建 STM32开发环境

文章目录

          • 1、安装mdk525.exe;
          • 2、下载离线的 `.pack` 器件支持包
          • 3、双击 安装 `.pack` 器件支持包
          • 4、新建【TEST】工程 文件夹
          • 5、新建 MDK 5工程;
          • 6、选择对应的开发器件;
          • 7、MDK会弹出【Manage Run-Time Environment 】对话框,单击【Cancel】;
          • 8、复制【CORE】需要的文件;
          • 9、获取 固件库 外设驱动
          • 10、复制【USER】需要的文件;
          • 11、开发板例程的【SYSTEM】的3个文件夹:delay,sys,usart
          • 12、修改Project下的【Target 1】为【TEST】,【TEST】下新建目录;
          • 13、新建 main.c 文件,保存到【USER】目录;
          • 14、新建 led.c 和 led.h 文件
          • 15、如图所示添加文件到【TEST】工程目录;
          • 16、单击魔术棒,增加 宏定义
          • 17、把工程中引用到的 所有头文件 的路径 都包含到进来:
          • 18、更改【目标文件】输出目录为【OBJ】;
          • 19、单击【F7】编译通过;
          • 20、勾选【Reset and Run】
          • 21、单击【F8】下载固件


MDK 5.25 下载链接:https://pan.baidu.com/s/1-Qwf0Ggtj33SjNUe07kjYg
提取码:7wgf


1、安装mdk525.exe;

MDK 5.25 新建 STM32开发环境_第1张图片

2、下载离线的 .pack 器件支持包

下载离线的.pack器件支持包,单击右侧按钮下载;
在这里插入图片描述

3、双击 安装 .pack 器件支持包

下载后双击文件,按照默认路径安装(当前keil 5安装路径);
在这里插入图片描述

4、新建【TEST】工程 文件夹

新建【TEST】工程文件夹,再新建【子文件夹】;
在这里插入图片描述

序号 目录 作用
1 CORE 固件库核心core_cm3、启动文件startup
2 HARDWARE 硬件外设
3 OBJ 目标文件
4 STM32F10x_FWLib 固件库文件
5 SYSTEM 系统
6 USER 工程文件
5、新建 MDK 5工程;

打开MDK 5,单击【Project】—>【New Uvision Project】,【保存】到预先建立的【TEST】工程文件夹的子文件夹【USER】。
在这里插入图片描述

6、选择对应的开发器件;

在这里插入图片描述

7、MDK会弹出【Manage Run-Time Environment 】对话框,单击【Cancel】;

在这里插入图片描述

8、复制【CORE】需要的文件;

打开官方固件库包【STM32F10x_StdPeriph_Lib_V3.5.0】
(1)把Libraries\CMSIS\CM3\CoreSupport下的core_cm3.ccore_cm3.h复制到【CORE】。
(2)DeviceSupport下的startup_stm32f10x_hd.s,复制到【CORE】。
如图所示:
在这里插入图片描述

9、获取 固件库 外设驱动

把【STM32F10x_StdPeriph_Driver】下的【inc】和【src】文件夹复制到【STM32F10x_FWLib】,如图所示:
在这里插入图片描述

10、复制【USER】需要的文件;

(1)把【STM32F10x_StdPeriph_Lib_V3.5.0\Project】的【STM32F10x_StdPeriph_Template】下的stm32f10x_conf.hstm32f10x_it.cstm32f10x_it.hsystem_stm32f10x.csystem_stm32f10x.h复制到【USER】目录;
(2)把STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下的stm32f10x.h,复制到【USER】

序号 文件 功能
1 system_stm32f10x.c
system_stm32f10x.h
设置系统以及总线时钟
2 stm32f10x.h 主要是系统寄存器定义申明以及包装内存操作
(相当重要,只要你做 STM32 开发,你几乎时刻都要查看这个文件相关的定义)
3 stm32f10x_conf.h 启用/禁用 外设头文件的包含
4 stm32f10x_it.c
stm32f10x_it.h
用来编写中断服务函数
(其实 中断服务函数也可以随意编写在工程里面的任意一个文件里面)

在这里插入图片描述

11、开发板例程的【SYSTEM】的3个文件夹:delay,sys,usart

开发板例程的 SYSTEM 的3个文件夹 delay、sys、usart 复制到 SYSTEM ;
在这里插入图片描述

序号 目录 作用
1 delay 实现系统的延时功能
(1)void delay_init(void)
(2)void delay_us(u32 nus)
(3)void delay_ms(u16 nms)
2 sys sys.csys.h
3 usart usart.cusart.h
用于串口的初始化和中断接收
12、修改Project下的【Target 1】为【TEST】,【TEST】下新建目录;

在这里插入图片描述

13、新建 main.c 文件,保存到【USER】目录;
#include "led.h"
#include "delay.h"

int main(void)
{
    delay_init();	   
    LED_Init();		  
	
    while(1)
    {
        GPIO_ResetBits(GPIOA, GPIO_Pin_8); 
        GPIO_SetBits(GPIOD, GPIO_Pin_2); 
        delay_ms(300);
        GPIO_SetBits(GPIOA, GPIO_Pin_8);
        GPIO_ResetBits(GPIOD, GPIO_Pin_2); 
        delay_ms(300);
    }
}

14、新建 led.c 和 led.h 文件

新建 led.c 和 led.h 文件,保存到【HARDWARE】—>【LED】目录;
led.c:

#include "led.h"

void LED_Init(void)
{
    GPIO_InitTypeDef  GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOD, ENABLE);	

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;				 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 
    GPIO_Init(GPIOA, &GPIO_InitStructure);					
    GPIO_SetBits(GPIOA, GPIO_Pin_8);						 

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;	    		 
    GPIO_Init(GPIOD, &GPIO_InitStructure);	  				
    GPIO_SetBits(GPIOD, GPIO_Pin_2); 						
}

led.h:

#ifndef __LED_H
#define __LED_H	 

#include "sys.h"

void LED_Init(void);	//初始化
	 				    
#endif

15、如图所示添加文件到【TEST】工程目录;

在这里插入图片描述

16、单击魔术棒,增加 宏定义

单击魔术棒 ,出来一个对话框,然后单击【C/C++】选项,在【Preprocessor Symbols】的【Define】框填入【STM32F10X_HD,USE_STDPERIPH_DRIVER】;
在这里插入图片描述

17、把工程中引用到的 所有头文件 的路径 都包含到进来:

单击【Include Paths】右边的按钮。弹出一个添加 path 的对话框,然后将图头文件所在的目录添加进去。
记住,Keil 只会在一级目录查找,所以如果你的目录下面还有子目录,记得 path 一定要定位到最后一级子目录,完成单击OK。
在这里插入图片描述

18、更改【目标文件】输出目录为【OBJ】;

在这里插入图片描述

19、单击【F7】编译通过;

在这里插入图片描述

20、勾选【Reset and Run】

选择调试工具,然后在【Setting】—>【Flash Download】对话框,勾选【Reset and Run】;
在这里插入图片描述

21、单击【F8】下载固件

单击【F8】下载固件,STM32自动运行【LED】程序。
在这里插入图片描述

序号 项目 描述
1 Code 执行的代码,程序中所有的函数
2 RO-data 只读数据,程序中所定义的全局常量数据字符串
3 RW-data 已初始化的读写数据,程序中 定义并且初始化全局变量静态变量
4 ZI-data 未初始化的读写数据,程序中 定义了但没有初始化全局变量静态变量

你可能感兴趣的:(MDK5)