完整ARM嵌入式系统实验报告.docx
- 文档编号:10805988
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:17
- 大小:21.12KB
完整ARM嵌入式系统实验报告.docx
《完整ARM嵌入式系统实验报告.docx》由会员分享,可在线阅读,更多相关《完整ARM嵌入式系统实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
完整ARM嵌入式系统实验报告
(此文档为word格式,下载后您可任意编辑修改!
)
郑州航空工业管理学院
嵌入式系统实验报告
(修订版)
20 –20 第 学期
赵成,张克新编著
院 系:
姓 名:
专 业:
学 号:
电子通信工程系
2014年3月制
实验一 ARM体系结构与编程方法
一、实验目的
了解ARM9S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2IDE中进行ARM汇编语言程序设计。
二、实验内容
1.ADS1.2IDE的安装、环境配置及工程项目的建立;
2.ARM汇编语言程序设计(参考附录A):
(1)两个寄存器值相加;
(2)LDR、STR指令操作;
(3)使用多寄存器传送指令进行数据复制;
(4)使用查表法实现程序跳转;
(5)使用BX指令切换处理器状态;
(6)微处理器工作模式切换;
三、预备知识
了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。
四、实验设备
1.硬件环境配置
计算机:
Intel(R)Pentium(R)及以上;
内存:
1GB及以上;
实验设备:
UP-NETARM2410-S嵌入式开发平台,J-LinkV8仿真器;
2.软件环境配置
操作系统:
MicrosoftWindowsXPProfessionalServicePack2;
集成开发环境:
ARMDeveloperSuite(ADS)1.2。
五、实验分析
1.安装的ADS1.2IDE中包括和两个软件组件。
在ADS1.2中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。
2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。
;文件名:
3.列写出使用LDR、STR指令的汇编程序,并在关键语句后面给出相应的注释。
4.“使用多寄存器传送指令进行数据复制”汇编程序分析。
LDRR0,=SrcData;执行后,R0的值是
LDRR1,=DstData;执行后,R1的值是
LDMIAR0,{R2-R9};LDMIA中的指令后缀IA表示
;
STMIAR1,{R2-R9};执行后,程序实现的功能是
;
5.在“使用查表法实现程序跳转”的汇编程序中,指令LDRPC,[PC,R2]采用的是什么寻址方式?
作为基址的寄存器PC的值是多少?
作为指令指针的PC又指向哪条指令?
这个指令与流水线执行的关系是什么?
(选做)
6.通过运行及观察“使用BX指令切换处理器状态”汇编程序实验,回答ARM指令与Thumb指令之间是如何实现状态切换的?
AXDDebugger调试环境中的哪个寄存器指示了ARM微处理器当前的指令状态?
同时,在程序中添加从Thumb指令切换到ARM指令的代码。
(选做)
7.观察“微处理器工作模式切换”程序的运行,按顺序写出ARM工作模式切换过程中依次出现的工作模式,同时,通过观察回答ARM微处理器是否能从用户模式切换到特权模式?
(选做)
六、遇到的问题及解决方法
实验二 VMWARE虚拟机与Linux环境的建立
一、实验目的
熟悉嵌入式系统开发环境的建立,掌握VMWARE-Linux环境的安装步骤;能够配置Samba服务、设置VMWARE虚拟机共享功能,学会Windows系统环境与Linux系统环境共享资源的基本方法。
二、实验内容
1.在Windows系统环境中安装VMWARE7.0虚拟机软件;
2.在VMWARE7.0虚拟机中安装LinuxRHELAS4操作系统;
3.设置VMWARE虚拟机提供的共享功能;
4.在Linux系统中建立Samba服务;
三、预备知识
了解VMWARE、VirtualBox、VirtualPC等虚拟机软件的相关知识;了解Linux操作系统的安装方法及基本操作方法。
四、实验设备
1.硬件环境配置
计算机:
Intel(R)Pentium(R)及以上
内存:
1GB及以上
实验设备:
UP-NETARM2410-S嵌入式开发平台,J-LinkV8仿真器
2.软件环境配置
操作系统:
MicrosoftWindowsXPProfessionalServicePack2
虚拟机:
VMwareWorkStation7
Linux系统:
RedHatEnterpriseLinuxAS4(2.6.9-5.EL)
五、实验分析
1.查看实验设备中配备的PC机,将下列硬件型号填写正确:
●CPU型号:
●内存大小:
●硬盘空间:
根据实验的实际操作,将下列软件版本号填写正确:
●VMWARE:
●Linux系统:
●Windows系统:
2.在VMWARE软件中安装RHEL4虚拟机时,出现网络连接方式的设置界面,如下图,提供了四个选项:
桥接(bridgednetworking)、NAT(NetworkAddressTranslation)、7
Linux系统:
RedHatEnterpriseLinuxAS4(2.6.9-5.EL)
五、实验步骤
1.Shell指令练习
打开Terminal窗口,使用su指令切换到root用户,使用echo指令在屏幕上显示“Experiment1onmyARMCoursefromdztx,zzia.\nNow,GoGoGo!
”。
使用pwd指令查看当前路径,使用cd指令切换到7
Linux系统:
RedHatEnterpriseLinuxAS4(2.6.9-5.EL)
五、实验步骤
1.根据实际的实验操作过程,列出在安装嵌入式系统仿真软件SKYEYE-1.2.4时用到的各个指令。
~]#cdicache.c
skyeye-1.2.4archmipscommoncpu.instr.emul.c
skyeye-1.2.4archmipscommoninterrupt.c
skyeye-1.2.4archmipscommonemul.exception.c
skyeye-1.2.4archmipscommoncache.-Iarcharmcommonmmu-Iarcharmmach-Iarchbfincommon-Iarchbfinmach-Iarchcoldfirecommon-Iarchppccommon-Idevice-Idevicenet-Idevicelcd-Ideviceflash-Ideviceuart-Idevicenandflash-Iutils-Iutilsshare-Iutilsmain-Iutilsconfig-Iutilsdebugger-DARM-I.-DNO_LCD-obinaryskyeyebinaryskyeye.o\
--start-group-Lbinary-larm-ldev-lutils-lbfin-lcoldfire-lppc-lmips-lbfd-liberty--end-group-lm
****
****Thebinaryfilelocatedat'binaryskyeye',enjoyit.
****
显示上述现象表示编译已经成功。
2.使用tar指令解压SKYEYE的测试工具包skyeye-testsuite-2.3.tar.bz2,再使用相关指令进入ARMS3C2410A的测试目录,使用cat指令查看skyeye.conf的内容。
列出上述实验过程的具体指令。
对SKYEYE的测试工具包skyeye-testsuite-2.3.tar.bz2解压的部分显示过程如下:
~]#cd..
zcnet]#tar-xjvfskyeye-testsuite-2.3.tar.bz2
skyeye-testsuite-2.3linuxep93122.6.x
skyeye-testsuite-2.3linuxep93122.6.xvmlinux
skyeye-testsuite-2.3linuxep93122.6.xskyeye_dbct.conf
skyeye-testsuite-2.3linuxep93122.6.xskyeye.conf
skyeye-testsuite-2.3linuxep93122.6.xinitrd.img
skyeye-testsuite-2.3linuxcs89712
skyeye-testsuite-2.3linuxcs89712vmlinux
skyeye-testsuite-2.3linuxcs89712skyeye_dbct.conf
skyeye-testsuite-2.3linuxcs89712readme
skyeye-testsuite-2.3linuxcs89712skyeye.conf
skyeye-testsuite-2.3linuxcs89712initrd.img
skyeye-testsuite-2.3linuxauto_test
skyeye-testsuite-2.3linuxinitrd.img
进入ARMS3C44B0的测试目录并使用CAT指令查看skyeye.conf的内容如下:
zcnet]#cdskyeye-testsuite-2.3
skyeye-testsuite-2.3]#ls
linuxrtemsu-bootuClinux
skyeye-testsuite-2.3]#cdu-boot
u-boot]#ls
at91rm9200ep7312pxa255s3c44b0smdk2410
u-boot]#cds3c44b0
s3c44b0]#ls
skyeye.confu-boot
s3c44b0]#catskyeye.conf
#skyeyeconfigfileforS3C44B0X
cpu:
arm7tdmi
mach:
s3c44b0x
#physicalmemory
mem_bank:
map=M,type=R,addr=0xsize=0x
mem_bank:
map=M,type=R,addr=0xsize=0x001ff000
mem_bank:
map=M,type=RW,addr=0x0csize=0x
#peripheralsIOmappingarea
mem_bank:
map=I,type=RW,addr=0x01c00000,size=0x
#uart0
uart:
mod=stdio
#uart1
uart:
mod=pipe,desc=devttyS1
#LCD
lcd:
type=s3c44b0x,mod=gtk
#net:
ethmod=tuntap,
3.运行skyeye.exe程序,使用帮助查看常用的参数及相应的格式,在下面写出运行的指令及skyeye.exe的命令行参数格式。
运行skyeye.exe程序的过程如下:
s3c44b0]#cd..
u-boot]#cd..
skyeye-testsuite-2.3]#cd..
zcnet]#ls
skyeye-1.2.4skyeye-testsuite-2.3
skyeye-1.2.4_Rel.tar.gzskyeye-testsuite-2.3.tar.bz2
zcnet]#cdskyeye-1.2.4
skyeye-1.2.4]#ls
archChangeLogdbctLICENSEMakefileREADMETODO
binaryCOPYINGdeviceMAINTAINERSmiscREPORTING-BUGSutils
skyeye-1.2.4]#cdbinary
binary]#ls
binary]#.skyeye–whennon"-e"option.
-dinGDBServermode(canbeconnectedbyGDB).
-cconfig-filetheskyeyeconfigurefilename.
-architectures----
bf533
4.在skyeye-testsuite-2.3测试包提供了测试ARMS3C2410A的测试目录,配置文件选用提供的skyeye.conf,使用skyeye.exe程序仿真运行U-Boot程序及Linux内核的运行。
写出实验时的测试步骤,并简单描述U-Boot程序及Linux内核的运行效果。
过程如下:
在使用skyeye.exe程序仿真运行U-Boot程序之前要先进入skyeye-testsuite-2.3中,选择u-boot,进入之后点击进入S3C44B0,将此文件夹下的skyeye.conf和u-boot拷贝到skyeye-1.2.4文件夹下的binary中。
之后进行对U-Boot程序的方针过程和部分显示结果如下:
binary]#.skyeye-cskyeye.conf-eu-boot
big_endianisfalse
arch:
arm
cpuinfo:
armv3,arm7tdmi,fff8ff00,0
machinfo:
names3c44b0x,mach_initaddr0x8062c10
uart_mod:
0,desc_in:
desc_out:
converter:
uart_mod:
1,desc_in:
devttyS1,desc_out:
converter:
SKYEYE:
usearm7100mmuops
execfile"u-boot"'sformatiself32-little.
loadsection.text:
addr=0x0c100000size=0x00013a04.
loadsection.glue_7:
addr=0x0c113a04size=0x.
loadsection.glue_7t:
addr=0x0c113a04size=0x.
loadsection.rodata:
addr=0x0c113a04size=0x000006f4.
loadsection.rodata.str1.4:
addr=0x0c1140f8size=0xb.
loadsection.data:
addr=0x0c118424size=0x00000a14.
loadsection.u_boot_cmd:
addr=0x0c118e38size=0x000004c8.
notloadsection.bss:
addr=0x0c119300size=0x00004c0c.
notloadsection.debug_line:
addr=0xsize=0x00005ad7.
notloadsection.debug_info:
addr=0xsize=0x00012e5c.
notloadsection.debug_abbrev:
addr=0xsize=0x00004de6.
notloadsection.debug_aranges:
addr=0xsize=0x.
notloadsection.debug_frame:
addr=0xsize=0x.
notloadsection.debug_pubnames:
addr=0xsize=0x00001e1f.
notloadsection.debug_ranges:
addr=0xsize=0x.
notloadsection.debug_str:
addr=0xsize=0x.
notloadsectionment:
addr=0xsize=0x000003a8.
callARMul_InitSymTable,kernelfilenameisu-boot.
startaddrissetto0x0c100000byexecfile.
U-Boot1.2.0(Nov92007-23:
13:
15)
DRAM:
16MB
SKYEYE:
WARNING:
illegalwriteFLASHonBank0-Size=0x=0MB
Flash:
0kB
***Warning-badCRC,usingdefaultenvironment
In:
serial
Out:
serial
Err:
serial
Hitanykeytostopautoboot:
0
##Bootingimageat...
BadMagicNumber
=>
如上所示的现象说明u-boot中的串行通信接口已经正常工作了,等待提示符之后输入u-boot指令。
binary]#.skyeye-evmlinux
Startingpid19,consoledevconsole:
'etcinit.drcS'
eth0:
usingpleasecheck:
BusyBoxv1.4.1(01:
19:
06CST)Built-inshell(ash)
Enter'help'foralistofbuilt-incommands.
binash:
can'taccesstty;jobcontrolturnedoff
$
六、遇到的问题及解决办法
实验五U-Boot的编译与仿真
一、实验目的
掌握U-Boot的编译,掌握在Skyeye环境下调试U-Boot的方法
二、实验内容
1.编译引导程序U-Boot;
2.在Skyeye环境下调试U-Boot;
3.练习U-Boot的常用命令;
三、预备知识
了解Bootloader程序的原理;了解U-Boot的常用命令。
四、实验设备
1.硬件环境配置
计算机:
Intel(R)Pentium(R)及以上
内存:
1GB及以上
实验设备:
UP-NETARM2410-S嵌入式开发平台,J-LinkV8仿真器
2.软件环境配置
操作系统:
MicrosoftWindowsXPProfessionalServicePack2
虚拟机:
VMwareWorkStation7
Linux系统:
RedHatEnterpriseLinuxAS4(2.6.9-5.EL)
五、实验步骤
1.根据实际的实验操作过程,编译U-Boot,并列出编译U-Boot时用到的各个指令。
2.分析U-Boot编译完成后生成的映像文件,共有几种,分别是哪种格式。
3.编写Skyeye的配置文件,在Skyeye环境下对U-Boot进行仿真,写出仿真U-Boot所使用的指令。
4.练习U-Boot的常用命令,列出三个U-Boot的常用命令并对其功能进行描述。
六、遇到的问题及解决办法
实验六Linux内核的配置、编译与调试
一、实验目的
掌握Linux内核的配置、编译,掌握在Skyeye环境下调试Linux内核的方法
二、实验内容
1.配置Linux内核;
2.编译Linux内核;
3.在Skyeye环境下调试Linux内核;
三、预备知识
了解Linux2.6版本内核;了解Linux内核的配置过程。
四、实验设备
1.硬件环境配置
计算机:
Intel(R)Pentium(R)及以上
内存:
1GB及以上
实验设备:
UP-NETARM2410-S嵌入式开发平台,J-LinkV8仿真器
2.软件环境配置
操作系统:
MicrosoftWindowsXPProfessionalServicePack2
虚拟机:
VMwareWorkStation7
Linux系统:
RedHatEnterpriseLinuxAS4(2.6.9-5.EL)
五、实验步骤
1.启动内核配置菜单,选择makemenuconfig方式进行配置。
列出linux内核的配置方式及每种配置方式的特点,列出启动内核配置菜单所使用的指令。
2.配置linux2.6版本内核,列出基本的配置项目都有哪些。
3.编译Linux内核,列出编译Linux内核所使用的指令,列出编译之后生成的文件及每个文件的用途。
4.编写Skyeye的配置文件,在Skyeye环境下对linux内核进行仿真,列出仿真所使用的指令及所需要的文件。
六、遇到的问题及解决办法
实验七根文件系统的制作
一、实验目的
掌握BusyBox的编译与安装,掌握根文件系统的制作过程,掌握在Skyeye环境下调试根文件系统的方法
二、实验内容
1.编译安装BusyBox;
2.制作根文件系统;
3.在Skyeye环境下调试根文件系统;
三、预备知识
了解BusyBox;了解根文件系统的相关知识。
四、实验设备
1.硬件环境配置
计算机:
Intel(R)Pentium(R)及以上
内存:
1GB及以上
实验设备:
UP-NETARM2410-S嵌入式开发平台,J-LinkV8仿真器
2.软件环境配置
操作系统:
MicrosoftWindowsXPProfessionalServicePack2
虚拟机:
VMwareWorkStation7
Linux系统:
RedHatEnterpriseLinuxAS4(2.6.9-5.EL)
五、实验步骤
1.配置BusyBox。
列出配置BusyBox所使用的指令及配置的内容。
2.编译与安装BusyBox,列出编译与安装BusyBox所使用的指令。
3.制作根文件系统,列出根文件系统的制作过程。
4.在Skyeye环境下对根文件系统进行仿真,观察输出的提示信息是否与文件etcmotd的内容相符。
六、遇到的问题及解决办法
实验八嵌入式系统基础应用实作
一、实验目的
掌握向嵌入式开发板中下载U-Boot的方法,掌握Linux内核及根文件系统的烧写方法
二、实验内容
1.向嵌入式开发平台下载U-Boot;;
2.向嵌入式开发平台烧写Linux内核;
3.向嵌入式开发平台烧写根文件系统;
三、预备知识
了解U-Boot下载
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 ARM 嵌入式 系统 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)