嵌入式实验报告Word文档下载推荐.docx
《嵌入式实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《嵌入式实验报告Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
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"
def.h"
/*functiondeclare*/
/*****************************************************/
*name:
main
*func:
ccodeentry
*para:
none
*ret:
*modify:
*comment:
******************************************************/
voidMain(intargc,char**argv)
{
sys_init();
/*Initials3c2410'
sClock,MMU,Interrupt,PortandUART*/
//userinterface
uart_printf("
\n\rEmbestEduKit-IIIEvaluationBoard"
);
memory_test();
}
/****************************************************/
memory.c
embest
memorytestfile
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
Memory
RD\n"
0x0f0ff0000));
//uart_printf("
\b\bRD"
while((UINT32T)pt<
data=*pt;
if(data!
=(UINT32T)pt)
memError=1;
\b\bFAIL:
0x%x=0x%x\n"
i,data);
break;
if(memError==0)
\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灭->
全亮->
全灭,如此反复
实验操作步骤
拷贝光盘CD1\Software\EduKit2410文件夹到EmbestIDE\Examples\Samsung\目录下(如果已经拷贝,跳过该操作);
使用EduKit-III目标板附带的串口线连接目标板上UART0和PC机串口COMx;
2.串口接收设置在PC机上运行windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);
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;
)设置断点后,
点击Debug菜单Go或F5键运行程序;
5)程序停到第一个断点处,观察四个灯是否都被点亮(注意观察渐变过程),按stepout(shift
+F11),跳出这个子函数,继续执行;
6)程序运行到led_off(),按stepinto(F11),停到第二个断点处,观察四个灯是否都熄灭(注
意观察渐变过程)。
按stepout(shift+F11),继续执行;
7)去掉断点,重新下载,执行程序
观察实验结果
观察发光二极管的亮灭情况,可以观察到的现象与前面实验内容中的相符,说明实验成功的实现了对I/0的操作。
实验参考成绩
/************************************************/
led_test.c
embest
IOporttestfile
*************************************************/
2410lib.h"
led_xxx
theledoperations
none
voidled_on(void)
{
inti,nOut;
nOut=0xF0;
rGPFDAT=nOut&
0x70;
-165-
for(i=0;
0x30;
0x10;
0x00;
100000