3、搭建MDK集成开发环境

实验二 ARM开发工具MDK集成开发环境的熟悉

一、实验目的:

1、 掌握MDK建立工程、设置工程的方法;

2、 掌握MDK编译工程、链接工程的方法;

3、 掌握MDK仿真调试的方法;

二、实验内容

新建一个工程,将实验原理中控制LED闪烁的程序拷贝到工程源文件,正确设置工程属性,编译无误后烧写到开发板观察现象。

 

三、实验原理:

 

Keil公司(该公司已被ARM公司收购!!)开发的ARM开发工具MDKMicrocontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。

注意:下面源代码尽量尝试理解,后续课程会详细讲解,本次实验课的重点不是GPIO工作原理和编程语法,重点在MDK开发环境的熟悉!!

 

源文件startup.s内容:

 

PRESERVE8

THUMB

 

AREA    RESET, DATA, READONLY

EXPORT  __Vectors

__Vectors

DCD     0x20002000        ; Top of Stack

DCD     Reset_Handler     ; Reset Handler

 

AREA    |.text|, CODE, READONLY

EXPORT Reset_Handler

Reset_Handler

IMPORT  led

LDR     R0, =led

BX      R0

 

ALIGN

END

 

 

 

 

源文件led.c内容:

 

#define GPIOF_MODER (*(volatile unsigned int *)0x40021400)

#define GPIOF_OTYPER (*(volatile unsigned int *)0x40021404)

#define GPIOF_OSPEEDR (*(volatile unsigned int *)0x40021408)

#define GPIOF_PUPDR (*(volatile unsigned int *)0x4002140C)

 

#define GPIOF_ODR   (*(volatile unsigned int *)0x40021414)

 

#define RCC_AHB1ENR (*(volatile unsigned int *)0x40023830)

 

void Delay(unsigned int nCount)

{

  for(; nCount != 0; nCount--);

}

 

int led(void)

{  

RCC_AHB1ENR |= 0x20;

 

GPIOF_MODER &= (~(0x3<<20));

GPIOF_MODER |= (0x1<<20);

 

GPIOF_OTYPER &= (~(0x1<<10));

 

GPIOF_OSPEEDR &= (~(0x3<<20));

GPIOF_OSPEEDR |= (0x2<<20);

 

GPIOF_PUPDR &= (~(0x3<<20));

 

    while (1)

    {

      GPIOF_ODR |= (0x1<<10);

       Delay(0xFFFFF);

       GPIOF_ODR &= (~(0x1<<10));

       Delay(0xFFFFF);

    }

}

 

 

 

 

 

 

本实验的电路图如下:

 

 

 

三、实验步骤:

 

1、 启动MDK:

 

 

2、 建立工程:

 

 

 

新建文件夹并命名为led:

 

双击led进入led目录:

 

 

单击保存,我们弹出如下对话框,并选中STMicroelectronics->STM32F439IG:

 

 

单击ok,弹出如下对话框:

 

单击“否”按钮,到此一个空的工程建立完毕,如果此时没有建立工程视图窗口,则可通过如下操作调出工程视图窗口:

 

 

 

 

3、 设置工程:

Target1上单击右键

 

 

 

 

 

单击linker选项卡,并照下图设置链接起始地址:

 

思考:为什么如此的设置链接起始地址?

 

 

点击Debug标签

 

 

点击Settings

 

 

点击Flash DowloadàAdd

 

 

单击OKàOK

 

单击OK,工程设置完毕

 

4、 建立文件并将文件添加到工程:

 

 

 

 

这个时候不要急着输入代码,先保存文件:

 

 

 

 

保存,这个时候还不要输入代码,将文件添加到工程:

SourceGroup1上单击右键

 

 

 

 

选中led.c,再点击add,最后close按钮;

同样方法新建startup.s并添加到SourceGroup1

 

 

5、 将上面的源代码,拷贝到对应的源文件中,保存。

 

6、 编译、链接:

 

 

 

7、 烧写程序到开发板,片内flash

 

 

 

 

 

8、 启动调试:

 

 

 

监控我们程序中所操作的GPIOF端口:

 

 

 

 

 

 

 

 

 

 

单击行号前面空白处,设置断点

 

 

点击下图RUN按钮,或按键盘F5运行到断点处

 

 

F10或F11单步运行,同时观察GPIOF监控窗口中的变化,并观察LED灯的亮灭!

 

总结:

建立工程、设置工程、建立文件、把文件添加到工程,设置断点单步调试!






posted @ 2019-04-12 11:47  盼归汀  阅读(1206)  评论(0编辑  收藏  举报