2023年ARM实验报告新编.pdf
《2023年ARM实验报告新编.pdf》由会员分享,可在线阅读,更多相关《2023年ARM实验报告新编.pdf(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、南 京 邮 电 大 学 通 达 学 院嵌入式系统B实验报告班级 1 00023专 业 通 信 工 程(嵌入式系统开发1学号 1000230 4姓名 陆海霞实验项目:1、A D S下简朴ARM汇编程序2、熟悉LIN U X开发环境3、多线程应用程序设计指 导 教 师 范 山 岗实验一 ADS下简朴ARM汇编程序实验目的:1、熟悉ADSL 2 下进行汇编语言程序设计的基本流程;2、熟悉在ADS中创建工程及编写、编译和运营汇编语言程序的方法;3、熟悉AX D中各种调试功能。实验环境:1、硬件:PC机。2、软件 ADS1.2。实验内容:1、在 A D S 中新建工程,并设立开发环境。2、在 Code
2、Warri o r 环境中编辑、编译和链接汇编语言程序,并生成可执行文献。3、在 AXD中调试汇编程序;4、使用命令行界面编辑、编译和链接汇编程序。实验环节:本实验规定在ADS环境下,编写一个汇编程序,计算S=1+2+3+n的累加值。把累加结果S 存入到存储器的指定位置;在AXD中调试该程序,使用A R Mula t o r模拟目的机。1、新建工程。打开 Code Wa r rio r,选择 File-New(proj e c t)选项,使用 ARM E x ecutable Ima g e 模版新建一个工程。2、设立编译和链接选项。由于我们使用的是模拟机,设立汇编语言编译器的模拟解决器架构为
3、Xsc a le;在 ARM Linke r 中,选择output选项卡并选择Lin ktyp e 为 Simpl e 类型,确认RO B a s e 为 0 x 800 0,修改 RW Base 为 0 x9000,3、为当前工程添加源程序文献。A R M 汇编程序源文献后缀名为S 大小写均可。保证添加入当前工程复选框选上。4、编辑源程序代码。参考程序a d d.s:a rm add源程序N EQU 7。;累加次数;定义名为A d d in g 的代码段oAREAAdd i ng,COD E,R E A D O NLY。ENTRYooMOV R0,#0。MOV Rl,#lREPEAT ADD
4、RO,RO,RI6 DD R 1,R1,#1CM PR1,#NoBLERE P EATooLDR R2,=R E SULT。STR RO,R2HEREoB HER E。定义名为Data s pace的数据段AREA Dataspace,DA T A,READWRITERESULT DCD 0-END实验中程序编写如下图所示:10002304.S,.,M,国,nP,Path:D:my workarmadd Ihx.iNEQU 7;AREA Aciding,CODE,READONLYENTRYMOV R0,40MOV R lz#l|REPEATADD RO,RO,RIADDCMP R1,#NBLE
5、 REPEATLDR R2,=RESULTSTR R0zR2HEREB HEREAREA D ataspace,DATA,READURITERESULTDCD 0END5、编译汇编源代码文献。右击a d d.S 文献,选择Com p i le,假如没有成功会弹犯错误和警告窗口。生成Q 目的代码文献。实验中生成的WMM.O 文献如下图所示:搜索 文 件 夹 团,irkarmaddarmadd DataDebugRelObjectCode务 会:件夹10002304.O。文件2KB6、编译整个工程。选 择 P r o j e c t-M a k e 进行整个工程的编译。可以在目录空间查看是否生成了
6、映像文献add.axfo7、确认调试目的设立。设立目的解决器型号。8、运营映像文献。9、调试准备在 A X D 中,打开各个观测窗口,做调试准备。选择Pro c e s s o r Vi e wsfRegisters选项,打开ARM寄存器显示窗口。调整窗口大小,使得C o rren t节点的R0 R 2寄存器可见。选 择Pr o c e s s or ViewsT M e mo r y选项,打开A RM存储器显示窗口。在Start A d d r ess输入框中输入准备查看的内存区域首地址0 x90 0 0。10、调试映像文献。打开调试窗口。为了便于调试,观测各个寄存器和存储器的变化情况。11
7、、单步运营程序,观测并记录结果。在A X D中,选 择Execute今Step选项,或 者F 1 0键,单步运营程序,查看相关寄存器和存储器相应地址上的变化,请把每一步的结果填入下表中。运营结果如图所示:丧 Search Processor Views Sistefn Views Execute Options Window Help剧 明 闽 潮型 I I喻陶_ X lREPEATIC12RESULT XScale-D:my workarmadd 10001304sAREA D atasp ace,D A T AzREADWRITEDCD 0151 617i;Li7MOV R l,#lADD
8、 R 0.R 0.R 1ADD R 1,R 1Z#1CMPBLE REPEATLDR R 2Z=RESULTSTR RO.FRZ lEHEREScale-RegistersR eg isterValue3-Current FrOOxOOOOOOlCl-r l0 x00000008|-r20 x00009000p r30 x00000000|-r40 x00000000分析源程序可以看出,我们的程序仅对少数几个寄存器进行了读写操作。序号执行指令执行后的变化情况寄 存 器(十六进制)存储器(十六进制)R 0R 1R2PC0 x90001MOVR 0,#00 x0000000 0Ox 0 00000
9、00Ox 0 00000 000 X 0 00 0 80040 x 90002MO VR I,#1Ox 0 00 000000 x 0 0 0 000010 X000000000 x000080080 x9 0 1 03A D D0 x000000 010 x00 0 00 x 0 0 00 x000 0800c0 X 9020RO,R0,R10001000004ADDRI,R1,#10 x 0 00000 010 X000000020 x00 0 00000Ox 0 0 008010Ox 9 0305CMPR 1 ,#N0 X00000(X)10 x 0 00000020 x00000000
10、0 X 00008 0 140 x9 0 4 06B L EREPEAT0 x00 0 000010 x00000 0020 x00 0 000000 x 00 0 0 8 008Ox 9 0507AD DRO,RO,R10 X 000 0 00030 x 00 0 00002Ox 0 00 000000 xOOOO 8 00c0 x 9 0 60注意:假如错过记录的时机可以选择Fi 1 e-Rc o a d Curre n t Im a g e 重新加载映像文献。实验思考:1、有没有办法让AX D 中寄存器和存储器单元的值直接显示为十进制?答:暂停ads,修改相关参数,即可显示同组同学:10
11、002 2 0 1孙郡遥1 0002304陆海霞10002 3 02 祁蕾100 0 2 3 0 8 梁玉实 验 二 熟 悉LINUX开发环境实验目的:熟悉L in u x 开发环境,学会基于S3c2 4 1 0 的L i n u x 开发环境的配置和使用。使用Li n u x 的armv41-u n known-1 inux-g c c 编译,使用基于N F S 方式的下载调试,了解嵌入式开发的基本过程。实验环境:硬件:UP-NETARM2410-S嵌入式实验平台、P C 机Pentium 5 0 0 以上,硬盘1 0 G 以上。软件:PC 机操作系统 REDHAT L I N U X 9.
12、0+MINIC0M+ARM-L I NUX 开发环境实验内容:1、本次实验使用Red hat Linux 9.0 操作系统环境,安装A RM-Lin u x 的开发库及编译器。2、创建一个新目录,并在其中编写hello,c和Ma k e f i 1 e 文献。学习在L in u x 下的编程和编译过程.3、ARM开发板的使用和开发环境的设立。4、下载已经编译好的文献到目的开发板上运营。实验环节:1、嵌入式交叉开发环境的建立1)宿主机的环境搭建选择一种方式在宿主机上直接安装Linux操作系统,如安装R e dll a t.下载V M W a r e,解压后根据提醒对的安装VMWare到硬盘中;运
13、营VMWare,根据向导创建一台虚拟机并选择L in u x 作为客户操作系统;根据向导安装R e dHat Linux 9.02)虚拟机中启动Li n u x 操作系统用户名:ro o t 密码:1 234 5 678将 Window s 下的e 盘设为共享目录,则在L inu x 的/m nt/h g f s/目录下就可以访问到Wi n d o w s 下的e 盘了。3)开发工具软件的安装1、安装g c c在 L i n u x 主窗口中单击鼠标右键,选 择“新建终端”命令,打开L i n u x 命令行窗口。在目录/m n t/h g f s/e/L i n u x v 7.2 /a r
14、 m 41 t o o 1 s/下找到 g c c 的安装文献 i n s t a 1 1.s h 并执行它。操作命令如下:#1s#./i n s t a 1 1 .s h2、配置P A TH途径/r o o t /下有一个.b a s h P r o f i l e”文献(由于该文献是隐藏文献,所以需要用“Is-a”命令才干显示);用 v i编辑器编辑该文献:#v i.b a s h _ P r of ile将文献中 P AT H 变量改为 P AT H=$P AT H:$H O ME/b in:/op t/h os t/a r mv 4 1/b i n /;存盘后执行口#s ou r c
15、e .b a s h _ p r of i 1 e以后a r mv 4 1-u nk n ow n-1 i n u x-g c c 将会被自动搜索到。4)宿主机上的开发环境配置1、配 置 IP 地址实验箱的I P地 址 是 1 92.1 68.0.1 1 5,所以可以把主机的I P配置成1 9 2.1 6 8.0.1 2 1,具体配置时间方法如下:#i f c on f i g e t h O 1 92.1 68.0.1 2 1在 Linu x 中选择“R e d”菜单一“系统设立”一“网络”,打 开“网络配置”窗口,双击设备e t h O 的蓝色区域,进入以太网设立界面。2、关闭防火墙单 击
16、“R e d”菜单一“系统设立”一安全级别,打 开“安全级别配置”窗口,选 择“无防火墙”选 项。3、配 置NF S单 击“R e d”菜单-系统设立-服务器设立-服 务,在“服 务 配 置”窗 口 中 勾 选n f s ,单 击“开 始”4、N F S设立单 击“R e d”菜单-系统设立-服务器设立-NF S服务器,打 开“N F S服务器配置”窗口,设 立NF S共 享。单击增长,在“目录”文本框中填入需要共享的途径,在主机文本框中填入允 许 进 行 连 接 的 主 机IP地 址。选择允许客户对共享目录的操作为只读或读写。最后退出时则 完 毕NF S配 置。配置好后,界面应显示如下图所示
17、:NFS服务器。文件(E)帮助I I,尊 谷,添加 ;,巴.D帮助(H)目录|主机|权限/arm2410s 192.168.0.*Read/Write至此,交叉开发环境的主机部分派置完毕。5)目的机的信息输出使用超级终端介绍宿主机与实验箱的通信。一 方 面 连 接串口线:一端连接P C的 串 口(C 0M1),另 一 端 连 接 到U P-NE T AR M2 4 1 0-S实验箱的串口。接下来建立超级终端:运营W ind ow s系 统 下 的“开 始”-“所有程序”-“附件“通 讯”一“超 级 终 端”,新建一个通信终端。文件(E)编 辑(日 杳看(V)终 端CD 标签帮助(tW?l c
18、oro o t的 主 IOPTIOCo n p iM n i c o m Co n rra n d Sun rn i ryCo n rra n d s c a n b e c a l l e d b y CTRL-A 回收却/$A/b i n/$/aM i n Fun c l i o n sOi h e r Fun c l i o n sDi a l i n g d i re c to rySe n d f-i 1 u s.c o n m Pa ra n v t e r s.Ca p ture o n/o f f.se n d b re a k.Te rm i n a l se l l i n
19、 g s1 i n e W-a p o n/o f f.run sc r i p t (Go).GPLFTWRe c e i ve f i l e sAd d Ii n e f e e d.l n g up.run Ke rm i t1 o c a 1 Ec h o o n/o f f.ECl e a r Sc re e n.c5 f i g ure M n i c o m.Su sp e n d m i n i c o m.e Xi t a n d re se t.Qj i I wi th n o re se tCurso r k e y n ud e.He 1p sc re e n.sc
20、ro 11 Ba c k.XQ1ZBDRi n i ti a l i ze M)d e m.MOSe l e c t f un c t i o n o r p re ss En I e r f o r n o n e.W i t te n b y M q u e 1 va n Sn o o re n b urg r 1991-1995So n t a d d i t i o n s b y Juk k a La h l i n e n 1997-2000i 18n b y Arn a Id o Ca rva 1 h o d e M?Io 19986)程序的运营打开超级终端,打开实验箱电源开关,
21、系统会由v i v i 开始引导。正常显示时会显示启动信息到“Pr es s R et u r n t o s t a r t t h e L I N U X n ow,a n y ot h er k ey for v i v i ,假如不进行任何操作等待30 s 或按回车键则启动进入L i n u x 系统;假如按回车键以外的其他键则进入v i vi控制台。在这里输入b oo t ,会引导K e r n el 启动L i n u x 系统。L i n u x 系统启动完毕后,屏幕显示:/m n t/y a ffs root(3 local h o s t:-文件编辑查看终端CD 标 签 国
22、柄助(旦)W?1 com?t o mi n i com 2.4)0.0 t 的 IOPT!Cb6:Ili s to ry B u ffe r.F-k e y M e ro s.Sea r ch Hi s to ry Bu f fe r.1 1 8nConp iIe d on Jun 15 2004.2 0:4 5:2 7.可收却/$AT S7=45/b in/a sh:c 1/$/b in/a sh con f i grur aenanvs ande t r an s fe rCon f i grurati on savedS e r ia l por t se t upM)dem and d
23、 i a 1 i ngrS creen and keyboard基于Linux的应用程序的开发环节1、建立工作目录roo t z xt sm ile#mk d i r hell or o otzxt s m i le#cd h e llo2、编写程序源代码在L inux下的文本编辑器有许多,常用的是vim 和Xwindow界面下的g e d i t 等,我们在开发过程中推荐使用v im,用户需要学习v im 的操作方法,请参考相关书籍中的关于v i m的操作指南。K develope、a n j u t a 软件的界面与vc6.0 类似,使用它们对于熟悉windows环境下开发的用户更容易上手
24、。实际的hello,c 源代码较简朴,如下:#in c I u d e ma i n()(p r in tf(h ello world n );)我们可以是用下面的命令来编写h e 1 1 o.c 的源代码,进入h e l l o 目录使用v i 命令来编辑代码:r o o t z xt he 1 loit vi h e 11 o.c按“i”或者“a”进入编辑模式,将上面的代码录入进去,完毕后按E s c 键进入命令状态,再用命令“:wq”保存并退出。这样我们便在当前目录下建立了一个名为hello,c 的文献。3、编写 M a k efi l e要使上面的h e l l o.c 程序可以运营,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 ARM 实验 报告 新编
限制150内