文档详情

实验二 ARM开发工具MDK开发环境的熟悉.doc

发布:2017-08-20约2.51千字共18页下载文档
文本预览下载声明
实验二 ARM开发工具MDK开发环境的熟悉 一、实验目的: 掌握MDK建立工程、设置工程的方法; 掌握MDK编译工程、链接工程的方法; 掌握MDK仿真调试的方法; 实验内容 参考本次实验的实验步骤,完成本次实验,以及实验步骤中的几个思考题 2、参考教材117页有关MDK工具的配置回答以下几个问题 MDK提供的两种调试模式 如何在工程中打开存储单元观察窗口 如何在工程中设置断点 三、实验原理: Keil公司(该公司已被ARM公司收购!!)开发的ARM开发工具MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。 注意:下面所描述的s3c2410 GPIO口的工作原理大家能看懂多少就懂多少,本次实验课的重点不是GPIO工作原理,重点在MDK开发环境的熟悉!! 嵌入式系统在控制领域的应用非常广泛,嵌入式芯片是通过外部管脚来和所控制的设备进行通信的。嵌入式芯片S3C2410和外部设备最简单的通信方式就是通过GPIO(通用IO管脚)来通信的。S3C2410通过读写与GPIO相关联的一组寄存器以实现读写GPIO管脚电平信号(大家可以回想以下在单片机中是怎么通过P0端口寄存器来控制P0.0------P0.7八个管脚的?)。当然,S3C2410的GPIO的操作比51单片机要些许复杂一点。 本实验的电路图如下: 图中的GPF4表示这个管脚是与S3C2410的通用端口F组的第4根管脚,其余类推。 实验相关寄存器说明(以后一定要学会看下面的几个表格): GPFCON――端口配置寄存器。 GPFCON为通用端口F组的管脚工作状态配置寄存器。 表示GPFCON的第0、1位决定GPF组的第0跟管脚,例如为00时,该管脚用于输入,01时表示该管脚用于输出,10时表示外部中断0输入,11则为保留。 GPFDAT――端口数据寄存器 GPFDAT寄存中的每一位的值代表管脚上的信号,如GPF0管脚为低电平,则GPFDAT[0]为0。 GPFUP――端口上拉电阻使能寄存器 管脚内部上拉电阻使能!! 要求编程实现4只发光二极管一闪一灭!(编程语言不限,汇编、c、c++均可,建议用c) 三、实验步骤: 启动MDK: 建立工程: 新建文件夹并命名为led: 双击led进入led目录: 单击保存,我们弹出如下对话框,并选中Samsung-S3C2410A: 单击ok,弹出如下对话框: 单击“否”按钮,到此一个空的工程建立完毕,如果此时没有建立工程试图窗口,则可通过如下操作调出工程视图窗口: 设置工程: 单击linker选项卡,并照下图设置链接起始地址: 思考:为什么如此的设置链接起始地址? 单击OK按钮,工程设置完毕。 建立文件并将文件添加到工程: 这个时候不要急着输入代码,先保存文件: 保存,这个时候还不要输入代码,将文件添加到工程: 选中led.c,再点击add,最后close按钮; 我们可以看到led.c已经添加到工程; 5、输入代码: //********************************************************* //广州大学华软软件学院电子系 //文件名:led.c //功能:实现试验箱上的四只放光二级管的闪烁 //作者:Jiabing Luo //********************************************************* //volatile的用法可参照:/user1/4805/archives/2008/47893.html #define rGPFCON (*(volatile unsigned *)0//定义了GPF的控制寄存器 #define rGPFDAT (*(volatile unsigned *)0//定义了GPF的数据寄存器 #define rGPFUP (*(volatile unsigned *)0//定义了GPF的上拉电阻寄存器 void delay(int time) { for(;time0;time--) ; } void Main()//注意不要写成了main!! { rGPFCON=0x5500; //0x5500的二进制为: //0 1 0 1 0 0 0 0 0 0 0 0,自己可以参照GPF控制寄存器的的描述来分析其位设置的含义为: //GPF7:输出,GPF6:输出,GPF5:输出
显示全部
相似文档