嵌入式实验报告.docx

上传人:b****3 文档编号:2814992 上传时间:2022-11-15 格式:DOCX 页数:18 大小:123.76KB
下载 相关 举报
嵌入式实验报告.docx_第1页
第1页 / 共18页
嵌入式实验报告.docx_第2页
第2页 / 共18页
嵌入式实验报告.docx_第3页
第3页 / 共18页
嵌入式实验报告.docx_第4页
第4页 / 共18页
嵌入式实验报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

嵌入式实验报告.docx

《嵌入式实验报告.docx》由会员分享,可在线阅读,更多相关《嵌入式实验报告.docx(18页珍藏版)》请在冰豆网上搜索。

嵌入式实验报告.docx

嵌入式实验报告

实验报告

 

专业名称

班级学号

学生姓名

实验一

1、编写程序循环对R4~R11进行累加8次赋值,R4~R11起始值为1~8,每次加操作后把R4~R11的内容放入SP栈中,SP初始设置为0x800。

最后把R4~R11用LDMFD指令清空赋值为0。

.global_start

.equstack_top,0x800

.text

_start:

MOVsp,#stack_top

MOVr4,#1

MOVr5,#2

MOVr6,#3

MOVr7,#4

MOVr8,#5

MOVr9,#6

MOVr10,#7

MOVr11,#8

STMFDsp!

{r4-r11}

MOVr3,#0/*r3=0*/

addBlock:

baddBlock

.end

实验二存储器实验

实验目的:

1.通过实验熟悉ARM的内部存储空间分配。

2.掌握对存储区配置方法。

3.掌握对存储区进行读写访问的方法。

实验设备:

硬件:

EmbestEduKit-III实验平台,EmbestARM标准/增强型仿真器套件,PC机;

软件:

EmbestIDEforARM集成开发环境,Windows98/2000/NT/XP。

实验内容:

1.熟练使用命令脚本文件对ARM存储控制寄存器进行正确配置;

2.使用C语言编程,实现对RAM的读写访问。

实验原理:

2410init.s整个系统的入口点,建立中断向量表

2410lib.c包括所有程序调用的函数,驱动

Call_int.s中断向量映射时进行现场保护

2410addr.h寄存器的地址

2410addr.inc寄存器的地址

Memcfg.h内存的定义

Option.inc配置参数

实验步骤:

1.准备实验环境

拷贝光盘CD1\Software\EduKit2410文件夹EmbestIDE\Examples\Samsung目录下(如果已经拷贝,跳过该操作);使用EduKit-III目标板附带的串口线连接目标板上UART0和PC机串口COMx;

2.串口接收设置

在PC机上运行windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序。

3.打开实验例程

1)运行EmbestIDE开发环境,进入实验例程目录EduKit2410\4.1.1_memory_test子目录下的memory_test.pjf例程,编译链接工程;

2)点击IDE的Debug菜单,选择RemoteConnect项或F8键,远程连接目标板;

3)点击IDE的Debug菜单,选择Download下载调试代码到目标系统的RAM中;

4)打开Memory窗口,点击Memory1在地址输入栏中输入0x30010000;

5)在工程管理窗口中双击memory_test.c就会打开该文件,在约第37行

(*pt=(UINT32T)pt;)设置断点后,点击Debug菜单Go或F5键运行程序;

6)当程序停留到断后,按F10,在Memory1窗口观察地址的内容并与地址相比较,对比是否一致,继续执行F10。

7)去掉断点,按F5并执行程序,观察超级终端串口程序的输出。

8)结合实验内容和实验原理部分,掌握汇编语言和高级语言程序访问RAM指令的使用方法。

4.观察实验结果

在PC机上观察超级终端程序主窗口,可以看到如下界面:

实验程序:

/*****************************************************/

*File:

main.c

*Author:

embest

*Desc:

cmainentry

*History:

*****************************************************/

#include"option.h"

#include"def.h"

/*functiondeclare*/

/*****************************************************/

*name:

main

*func:

ccodeentry

*para:

none

*ret:

none

*modify:

*comment:

******************************************************/

voidMain(intargc,char**argv)

{

sys_init();/*Initials3c2410'sClock,MMU,Interrupt,PortandUART*/

//userinterface

uart_printf("\n\rEmbestEduKit-IIIEvaluationBoard");

memory_test();

}

/****************************************************/

*File:

memory.c

*Author:

embest

*Desc:

memorytestfile

*History:

*****************************************************/

#include"def.h"

#include"option.h"

voidmemory_test(void)

{

inti;

UINT32Tdata;

intmemError=0;

UINT32T*pt;

//memorytest

Uart_printf("\nMemory

Test(%xh-%xh):

WR\n",_RAM_STARTADDRESS+0x10000,(_ISR_STARTADDRESS&0xf0ff0000));

//memorywrite

pt=(UINT32T*)(_RAM_STARTADDRESS+0x10000);

while((UINT32T)pt<(_ISR_STARTADDRESS&0xf0ff0000))

{

*pt=(UINT32T)pt;

pt++;

}

//MEMORYREAD

uart_printf("Memory

Test(%xh-%xh):

RD\n",_RAM_STARTADDRESS+0x10000,(_ISR_STARTADDRESS&0x0f0ff0000));

//uart_printf("\b\bRD");

pt=(UINT32T*)(_RAM_STARTADDRESS+0x10000);

while((UINT32T)pt<(_ISR_STARTADDRESS&0xf0ff0000))

{

data=*pt;

if(data!

=(UINT32T)pt)

{

memError=1;

uart_printf("\b\bFAIL:

0x%x=0x%x\n",i,data);

break;

}

pt++;

}

if(memError==0)

uart_printf("\n\b\bO.K.\n");

}

课后练习

实验三IO口实验

实验目的

1.掌握S3C2410X芯片的I/O控制寄存器的配置;

2.通过实验掌握ARM芯片使用I/O口控制LED显示;

3.了解ARM芯片中复用I/O口的使用方法。

实验设备

硬件:

EmbestEduKit-III实验平台,EmbestARM标准/增强型仿真器套件,PC机。

软件:

EmbestIDEforARM集成开发环境,Windows98/2000/NT/XP。

实验内容

编写程序,控制实验平台的发光二极管LED1,LED2,LED3,LED4,使它们有规律的点亮熄

灭,具体顺序如下:

LED1亮->LED2亮->LED3亮->LED4亮->LED1灭->LED2灭->LED3

灭->LED4灭->全亮->全灭,如此反复

实验操作步骤

1.准备实验环境

拷贝光盘CD1\Software\EduKit2410文件夹到EmbestIDE\Examples\Samsung\目录下(如果已经拷贝,跳过该操作);使用EduKit-III目标板附带的串口线连接目标板上UART0和PC机串口COMx;

2.串口接收设置在PC机上运行windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序。

3.打开实验例程

1)运行EmbestIDE开发环境,进入实验例程目录EduKit2410\4.2_led_test子目录下的

led_test.pjf例程,编译链接工程;

2)点击IDE的Debug菜单,选择RemoteConnect项或F8键,远程连接目标板;

3)点击IDE的Debug菜单,选择Download下载调试代码到目标系统的RAM中;

4)在工程管理窗口中双击led_test.c就会打开该文件,分别在约第34行

(for(i=0;i<100000;i++);)和58行(for(i=0;i<100000;i++);)设置断点后,

点击Debug菜单Go或F5键运行程序;

5)程序停到第一个断点处,观察四个灯是否都被点亮(注意观察渐变过程),按stepout(shift

+F11),跳出这个子函数,继续执行;

6)程序运行到led_off(),按stepinto(F11),停到第二个断点处,观察四个灯是否都熄灭(注

意观察渐变过程)。

按stepout(shift+F11),继续执行;

7)去掉断点,重新下载,执行程序

观察实验结果

观察发光二极管的亮灭情况,可以观察到的现象与前面实验内容中的相符,说明实验成功的实现了对I/0的操作。

实验参考成绩

/************************************************/

*File:

led_test.c

*Author:

embest

*Desc:

IOporttestfile

*History:

*************************************************/

#include"2410lib.h"

/************************************************/

*name:

led_xxx

*func:

theledoperations

*para:

none

*ret:

none

*************************************************/

voidled_on(void)

{

inti,nOut;

nOut=0xF0;

rGPFDAT=nOut&0x70;

-165-

for(i=0;i<100000;i++);

rGPFDAT=nOut&0x30;

for(i=0;i<100000;i++);

rGPFDAT=nOut&0x10;

for(i=0;i<100000;i++);

rGPFDAT=nOut&0x00;

for(i=0;i<100000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1