MDK5的简单程序的编译

一、MDK5的简单介绍

MDK 源自德国的 KEIL 公司,是 RealView MDK 的简称。在全球 MDK 被超过 10 万的嵌入式开发工程师使用。目前最新版本为:MDK5.14,该版本使用 uVision5 IDE 集成开发环境,是目前针对 ARM 处理器,尤其是 Cortex M 内核处理器的最佳开发工具。

二、简单程序编译

1.打开keil 5
在这里插入图片描述
在这里插入图片描述
2.创建新工程
在这里插入图片描述
3.选取stm32rb
在这里插入图片描述
4.cmsis中core和device中startup打勾
在这里插入图片描述
5.新建文件
在这里插入图片描述
6.输入代码

#define PERIPH_BASE           ((unsigned int)0x40000000)
#define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)
#define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)
#define GPIOB_BASE            (APB2PERIPH_BASE + 0x0C00)
#define GPIOC_BASE            (APB2PERIPH_BASE + 0x1000)
#define GPIOD_BASE            (APB2PERIPH_BASE + 0x1400)
#define GPIOE_BASE            (APB2PERIPH_BASE + 0x1800)
#define GPIOF_BASE            (APB2PERIPH_BASE + 0x1C00)
#define GPIOG_BASE            (APB2PERIPH_BASE + 0x2000)
#define GPIOA_ODR_Addr    (GPIOA_BASE+12) //0x4001080C
#define GPIOB_ODR_Addr    (GPIOB_BASE+12) //0x40010C0C
#define GPIOC_ODR_Addr    (GPIOC_BASE+12) //0x4001100C
#define GPIOD_ODR_Addr    (GPIOD_BASE+12) //0x4001140C
#define GPIOE_ODR_Addr    (GPIOE_BASE+12) //0x4001180C
#define GPIOF_ODR_Addr    (GPIOF_BASE+12) //0x40011A0C   
#define GPIOG_ODR_Addr    (GPIOG_BASE+12) //0x40011E0C 
 
#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2))
#define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr))
 
 
#define LED0  MEM_ADDR(BITBAND(GPIOA_ODR_Addr,8))
//#define LED0 *((volatile unsigned long *)(0x422101a0)) //PA8
typedef  struct
{
   volatile  unsigned  int  CR;
   volatile  unsigned  int  CFGR;
   volatile  unsigned  int  CIR;
   volatile  unsigned  int  APB2RSTR;
   volatile  unsigned  int  APB1RSTR;
   volatile  unsigned  int  AHBENR;
   volatile  unsigned  int  APB2ENR;
   volatile  unsigned  int  APB1ENR;
   volatile  unsigned  int  BDCR;
   volatile  unsigned  int  CSR;
} RCC_TypeDef;
 
#define RCC ((RCC_TypeDef *)0x40021000)
 
typedef  struct
{
volatile  unsigned  int  CRL;
volatile  unsigned  int  CRH;
volatile  unsigned  int  IDR;
volatile  unsigned  int  ODR;
volatile  unsigned  int  BSRR;
volatile  unsigned  int  BRR;
volatile  unsigned  int  LCKR;
} GPIO_TypeDef;
 
#define GPIOA ((GPIO_TypeDef *)GPIOA_BASE)
 
void  LEDInit( void )//使能时钟
{
     RCC->APB2ENR|=1<<2;  //GPIOA 时钟开启
     GPIOA->CRH&=0XFFFFFFF0;
     GPIOA->CRH|=0X00000003; 
}
 
//粗略延时
void  Delay_ms( volatile  unsigned  int  t)
{
     unsigned  int  i,n;
     for (n=0;n<t;n++)
         for (i=0;i<800;i++);
}
 
int  main( void )
{
     LEDInit();
     while (1)
     {
         LED0=0;
         Delay_ms(500);
         LED0=1;
         Delay_ms(500);
     }
}

7.以.c形式保存
在这里插入图片描述
8.添加到group里
在这里插入图片描述
在这里插入图片描述
9.编译
在这里插入图片描述
在这里插入图片描述
10.修改设置
在这里插入图片描述
在这里插入图片描述

11.运行start
在这里插入图片描述
在这里插入图片描述
LED闪烁的代码来源:https://blog.csdn.net/farsight1/article/details/80984834

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Keil5 MDK536是一款集成开发环境(IDE),可用于嵌入式系统的应用程序开发。该环境主要用于ARM Cortex-M微控制器,支持C和C++编程语言,提供了完整的软件开发工具链,包括编译器、连接器、调试器、仿真器等,可以帮助开发人员快速地构建嵌入式应用程序Keil5 MDK536具有以下几个特点: 1. 集成度高:该环境提供了一整套的开发工具,从软件的编写到硬件的仿真都可以在同一个开发环境中完成。 2. 支持多种嵌入式平台:该环境广泛支持多种嵌入式处理器和微控制器,包括ARM Cortex-M0/1/3/4/7系列等。 3. 具有灵活性:该环境提供了多种开发工具,可以根据不同的需求进行自由组合,满足不同开发需求。 4. 易于使用:该环境提供了丰富的文档和示例,使得初学者可以快速上手,并且可通过简单的配置来实现开发目标。 总的来说,Keil5 MDK536是一款功能强大、易于使用的开发环境,适用于嵌入式系统的应用程序开发,可大大提高开发效率和开发质量。 ### 回答2: Keil5 MDK536是一款针对嵌入式系统开发的软件,主要用于STM32芯片的编程及开发。 Keil5 MDK536作为一款成熟的工具,在嵌入式系统开发中具有广泛的应用。它可以简化开发者的编程工作,提高代码的可靠性和稳定性,从而加快开发速度。 在Keil5 MDK536中,提供了基础的编译、调试、仿真等功能,同时还提供了强大的编码工具,包括自动代码生成、静态分析、性能分析等多种工具,方便开发者更好地进行项目管理和开发。 与其他开发平台相比,Keil5 MDK536相对于嵌入式开发领域更加专业化,具有更高的可靠性和稳定性。此外,Keil5 MDK536还具有完善的技术支持和较为友好的用户界面,方便用户的学习和使用。 总体而言,Keil5 MDK536是一款优秀的开发平台,它在嵌入式系统开发领域中占有一席之地。尤其对于STM32芯片的开发者来说,Keil5 MDK536无疑是一个极其有力的工具,可以提高开发效率,帮助开发者编写更为优化的代码,从而更快地将产品推向市场。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值