当前位置:文档之家› ARM实验报告

ARM实验报告

湖南科技学院ARM嵌入式设计实验报告题目:基于ARM嵌入式系统跑马灯的设计专业:电子信息工程班级:电信1102班姓名:段相辉学号:201106002232指导教师:陈光辉2014年11 月目录摘要............................................. 错误!未定义书签。

ABSTRACT .......................................... Ⅰ错误!未定义书签。

1 题目要求 (1)2 设计软件的安装 (2)3 开发平台的搭建 (22)4 项目设计 (23)4.1 设计思路概述 (2)4.1.1 设计层次介绍 (2)4.1.2 设计模块介绍 (3)5总结 (6)致谢 (25)参考文献 (26)附录 (27)引言随着生活水平的提高和IT技术的进步,8位处理器的处理能力已经不能满足嵌入式系统的需要了;而16位处理器在性能和成本上都没有很大的突破。

并且在8位机的开发中,大多使用汇编语言来编写用户程序。

这使得程序的可维护性、易移植性等都受到了极大的挑战。

正是基于此,ARM公司适时的推出了一系列的32位嵌入式微控制器。

目前广泛使用的是ARM7和ARM9系列,ARM7TDMI内核的ARM7处理器广泛应用于工业控制、仪器仪表、汽车电子、通讯、消费电子等嵌入式设备。

1、题目要求构建嵌入式Linux开发环境,熟悉linux的命令操作,并在嵌入式Linux 开发环境中设计跑马灯。

2、设计软件的安装2.1 VMware Player简介(a) VMware Workstation是一个“虚拟机”软件.它使用户可以在一台机器上同时运行多个操作系统.(b) VMware Player是VMware Workstation的精简版,最初只是虚拟机的“播放机”, 但最新版本的已经具有创建虚拟机的功能.具有体积小,使用灵活,免费等特点.(c) 多个操作系统在主系统的平台上,可像Windows应用程序那样切换.而且每个操作系统都可以进行虚拟的分区、配置而不影响真实硬盘的数据.(d) 利VMware Player创建虚拟机2.4 linux系统的安装本项目设计软件为ReHat Linux 9.0操作系统,实验开发平台为MagicARM270 具体关键安装步骤如下3、开发平台的搭建一、安装交叉编译器将光盘提供的交叉编译器安装包arm-linux-3.4.1.tar.bz2复制到某个目录下,然后进行解压安装,指定安装路径为/usr/local/arm。

# tar xjvf arm-linux-3.4.1.tar.bz2 -C /usr/local/arm注意:安装交叉编译器需要root权限,请使用root登录或者使用su命令增加root权限。

二、设定交叉编译器路径修改/etc/profile文件,在其中增加arm-linux-gcc的路径,然后重新登录:# Path manipulationif [ `id -u` = 0 ]; thenpathmunge /sbinpathmunge /usr/sbinpathmunge /usr/local/sbinpathmunge /usr/local/arm/3.4.1/bin ⇓增加此行fi 三、设置宿主机网络从RedHat Linux的Main Menu菜单,选择System Settings◊Network,打开网络配置界面。

三、设置宿主机网络双击eth0,在弹出的界面进行具体的网络设置,如IP地址、子网掩码等信息四、关闭防火墙从RedHat Linux的Main Menu菜单,选择System Settings◊Security Level,打开RedHat Linux安全级别设置界面,将其安全级别设置为No Firewall。

五、除防火墙规则从RedHat Linux的Main Menu菜单,选择System Settings◊Server Settings◊Services,在弹出的界面中,将ipchains、iptables和ip6tables前面的“√”去掉。

六、设置NFS服务器从Linux的Main Menu菜单,选择System Settings◊Server Settings ◊NFS Server。

七、设置NFS服务器点击Add按钮,弹出NFS添加界面。

在相应栏分别填入共享目录以及可以访问该共享目录的主机的IP。

八、进行远程NFS挂载启动MagicARM270,在串口终端界面输入命令进行NFS挂载。

[root@MagicARM270 ~]# mount –t nfs 192.168.0.94:/pxa270/nfs /mnt –o nolock如果不出现错误,则进入/mnt目录,查看主机共享的目录和文件。

[root@MagicARM270 ~]# cd /mnt[root@MagicARM270 mnt]# ls十、如果以上步骤都没有出现错误,能够得到正确结果,则主机交叉开发环境建立成功。

如下图所示:4、项目设计4.1设计思路的概述在开发平台上编写程序控制跑马灯的亮灭:首先是全不亮,接着第1个灯亮,第2个灯亮,第3个灯亮,第4个灯亮,最后所有的灯一起亮,即按顺序亮,然后全亮,最后全灭,顺序循环。

4.1.1设计层次的介绍首先利用命令mkdir建立一个文件夹,文件名paomadeng,接着建立一个目录led.c存放在paomadeng文件下,如下:Ledc.c#define GPC0CON *((volatile unsigned long *)0xe0200060)#define GPC0DATA *((volatile unsigned long *)0xe0200064)void delay( int i){ int j;for(i ;i > 0 ;i--)for(j = 65536;j>0;j--);}int main(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);}return 0;}建立一个目录为start.s存放在跑马灯文件下,如下:start.s.text.global _start.equ NUM, 0x45_start:/* test asm code*/@ test asm codemov r1, #0x34mov r2, #0x45add r3, r1, r2ldr sp, =0x40800000bl mainloop:b loop建立一个目录为makefile存放在跑马灯文件下,如下:makefileCROSS_COMPILE = arm-none-linux-gnueabi-CC = $(CROSS_COMPILE)gccLD = $(CROSS_COMPILE)ldSTRIP = $(CROSS_COMPILE)stripOBJCOPY = $(CROSS_COMPILE)objcopyOBJDUMP = $(CROSS_COMPILE)objdumpTEXT_BASE = 0x40008000TARGET = ledcOBJS = start.o ledc.o$(TARGET) : $(OBJS)$(LD) -Ttext $(TEXT_BASE) $(OBJS) -o $(TARGET) $(OBJCOPY) -O binary $(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、总结通过这次设计了解ARM嵌入式的相关知识,掌握了虚拟机和Linux 操作系统的安装过程,但对于初学者而言,学习嵌入式系统会碰到很多的问题,比如说对很多的专业名词不理解,对linux操作命令不熟悉,那对于本次设计会带来很多的麻烦,这些问题也反映我们的专业知识不够精,动手能力差等问题。

本次设计是要求设计一个跑马灯,根据老师的分析思路和所给的资料,在linux终端用常用命令完成程序设计,直到验证结果出现。

由于对操作平台不熟练,没能得到最后的设计结果,课后认真完成本次设计的实验报告。

6、参考文献[1]周立功.ARM嵌入式系统基础教程[M]. 北京:北京航空航天大学出版社,2005.[2]周立功.ARM微控制器基础教程与实践[M].北京:北京航空航天大学出版社,2005.[3]杜春雷.ARM体系结构与编程[M]. 北京:北京清华大学出版社,2005.[4]马忠梅.ARM嵌入式处理器结构与应用基础[M].北京:北京航空航天大学出版社, 2003.[5] ARM Incorporated. Embedded Software Development with ADS v1.2 [Z].2002.[6] David Seal.ARM Architecture Reference Manual[M]. Second Edition.[7] ARM Incorporated.ARM7TDMI Technical ReferenceManual[Z].2004.。

相关主题