ARM嵌入式跑马灯设计实验报告.docx
- 文档编号:8327700
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:15
- 大小:1.67MB
ARM嵌入式跑马灯设计实验报告.docx
《ARM嵌入式跑马灯设计实验报告.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式跑马灯设计实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
ARM嵌入式跑马灯设计实验报告
ARM嵌入式设计实验报告
题目:
跑马灯的设计
专业:
班级:
姓名:
学号:
指导教师:
2014年11月
目录
1题目要求…………………………………………………………………1
2设计软件的安装…………………………………………………………1
3开发平台的搭建…………………………………………………………4
4项目设计…………………………………………………………………8
4.1设计思路概述……………………………………………………………………….8
4.1.1设计层次介绍……………………………………………………………………9
4.1.2设计模块介绍…………………………………………………………………12
5总结………………………………………………………………………16
1.题目要求:
在windows系统上安装一个Linux操作系统,并且在自己搭建的平台上实现跑马灯的设计。
1.1.实验工具:
计算机linux操作系统
1.1.2.实验目的:
熟练掌握arm开发环境的设计,了解跑马灯的编程。
2.设计软件的安装:
本项目设计软件为ReHatLinux9.0操作系统,实验开发平台为MagicARM270
具体关键安装步骤如下:
3.开发平台的搭建:
实验步骤
(1)安装交叉编译器
将光盘提供的交叉编译器安装包arm-linux-3.4.1.tar.bz2复制到某个目录下,然后进行解压安装,指定安装路径为/usr/local/arm。
#tarxjvfarm-linux-3.4.1.tar.bz2-C/usr/local/arm
注意:
安装交叉编译器需要root权限,请使用root登录或者使用su命令增加root权限。
(2)设定交叉编译器路径
修改/etc/profile文件,在其中增加arm-linux-gcc的路径,然后重新登录:
#Pathmanipulation
if[`id-u`=0];then
pathmunge/sbin
pathmunge/usr/sbin
pathmunge/usr/local/sbin
pathmunge/usr/local/arm/3.4.1/bin增加此行
fi
(3)设置宿主机网络
从RedHatLinux的MainMenu菜单,选择SystemSettingsNetwork,打开网络配置界面。
(4)设置宿主机网络
双击eth0,在弹出的界面进行具体的网络设置,如IP地址、子网掩码等信息。
(5)关闭防火墙
从RedHatLinux的MainMenu菜单,选择SystemSettingsSecurityLevel,打开RedHatLinux安全级别设置界面,将其安全级别设置为NoFirewall。
(6)清除防火墙规则
从RedHatLinux的MainMenu菜单,选择SystemSettingsServerSettingsServices,在弹出的界面中,将ipchains、iptables和ip6tables前面的“√”去掉。
(7)设置NFS服务器
从Linux的MainMenu菜单,选择SystemSettingsServerSettingsNFSServer。
(8)设置NFS服务器
点击Add按钮,弹出NFS添加界面。
在相应栏分别填入共享目录以及可以访问该共享目录的主机的IP。
(9)测试NFS
测试NFS共享设置是否成功。
将主机上的共享目录mount到自己另外一个目录如/mnt目录下:
#mount192.168.0.94:
/pxa270/nfs/mnt
然后查看/mnt目录下是否有/pxa270/nfs目录下的文件,如果有的话,则NFS服务启动成功。
(10)进行远程NFS挂载
启动MagicARM270,在串口终端界面输入命令进行NFS挂载。
[root@MagicARM270~]#mount–tnfs192.168.0.94:
/pxa270/nfs/mnt–onolock
如果不出现错误,则进入/mnt目录,查看主机共享的目录和文件。
[root@MagicARM270~]#cd/mnt
[root@MagicARM270mnt]#ls
4.项目设计:
4.1设计思路概述:
(1)安装Linux系统,并开发一个实验平台。
(2)使用ARM汇编语言和C语言设置GPIO口的相应寄存器。
(3)用C语言编写跑马灯程序,并在Linux中调用运行。
4.1.1设计层次介绍:
(1)Ledc.c
#defineGPC0CON*((volatileunsignedlong*)0xe0200060)
#defineGPC0DATA*((volatileunsignedlong*)0xe0200064)
voiddelay(inti)
{
intj;
for(i;i>0;i--)
for(j=65536;j>0;j--);
}
intmain(void)
{GPC0CON|=(0x11<<12);
while
(1)
{
GPC0DATA|=(0x01<<3);
delay(10);
GPC0DATA|=(0x01<<4);
delay(10);
GPC0DATA&=~(0x01<<3);
delay(10);
GPC0DATA&=~(0x01<<4);
delay(10);
}
return0;
}
start.s
.text
.global_start
.equNUM,0x45
_start:
/*testasmcode*/
@testasmcode
movr1,#0x34
movr2,#0x45
addr3,r1,r2
ldrsp,=0x40800000
blmain
loop:
bloop
makefile
CROSS_COMPILE=arm-none-linux-gnueabi-
CC=$(CROSS_COMPILE)gcc
LD=$(CROSS_COMPILE)ld
STRIP=$(CROSS_COMPILE)strip
OBJCOPY=$(CROSS_COMPILE)objcopy
OBJDUMP=$(CROSS_COMPILE)objdump
TEXT_BASE=0x40008000
TARGET=ledc
OBJS=start.oledc.o
$(TARGET):
$(OBJS)
$(LD)-Ttext$(TEXT_BASE)$(OBJS)-o$(TARGET)
$(OBJCOPY)-Obinary$(TARGET)$(TARGET).bin
$(OBJDUMP)-D$(TARGET)>$(TARGET).dis
%.o:
%.S
$(CC)-c$^-o$@
%.o:
%.c
$(CC)-c$^-o$@
clean:
rm-rf$(OBJS)$(TARGET)*.bin*.dis*.swp*.tgz
4.1.2设计模块介绍:
5、总结:
通过这次试验设计,我进一步了解到了Linux系统的应用,知道了怎么创建虚拟机以及Linux的一些简单指令的编写,并且学会了怎么样搭建一个开发平台。
,在老师的指导下,我又学到了很多,也了解到自己在很多方面的不足,还有很多地方必须在以后的工作和生活中引起注意并且加强有关方面的锻炼。
这次实验课对我来说是非常有意义的,通过多方面的询问老师,还有跟同学的相互交流,让我受益匪浅。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 嵌入式 跑马 设计 实验 报告