ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:19.95KB ,
资源ID:19974600      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19974600.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ARM嵌入式原理和开发实验报告文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ARM嵌入式原理和开发实验报告文档格式.docx

1、1.ADS软件的组成ADS由命令行开发工具、ARM运行时库、GUI开发环境(CodeWarrior和AXD)、实用程序、支持软件等组成。2.GUI开发环境ADS GUI开发环境包含CodeWarrior和AXD两种,其中Code Warrior是集成开发工具,而AXD是调试工具。使用汇编语言进行编程简单、方便,适用于初始化硬件代码、启动代码等。汇编语言具有一些相同的基本特征:1. 一条指令一行。2. 使用标号(label)给内存单元提供名称,从第一列开始书写。3. 指令必须从第二列或能区分标号的地方开始书写。4. 注释必须跟在指定的注释字符后面,一直书写到行尾。在ARM汇编程序中,每个段必须以

2、AREA作为段的开始,以碰到下一个AREA作为该段的结束,段名必须唯一。程序的开始和结束需以ENTRY和END来标识。嵌入式C语言设计是利用基本的C语言知识,面向嵌入式工程实际应用进行程序设计。为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序调用的基本规则。四、 实验过程与关键代码分析1. 创建项目工程在File菜单中选择New命令,打开一个新建工程对话框。在Project选项卡下,选择ARM Executable Image, 然后在Project name文本框里输入项目名称,点击确定。弹出工程窗口

3、。选择File菜单中的New命令,选择File标签页,在File name文本框中输入要创建的文件名。汇编程序以.s结尾,c程序以.c结尾。在Location文本框中指定文件的存放位置,选中Add to Project,在Targets中选中DebugRel,单击确定关闭窗口。2.用汇编语言设计程序实现10的阶乘AREA EXAMPLE, CODE, READONLYENTRYstart MOV R0, #10 MOV R1, #1LOOP MUL R0, R0, R1 SUB R0, R0, 1 CMP R0, #1 BHI LOOP END在这个程序中,我们首先对R0和R1赋值,将R0作为

4、一个变量,而R1作为一个存贮阶乘值的寄存器。在每进行一次乘法之后,将R0减1。同时在做完减法后进行判断,如果此时R0大于1,则返回继续乘法,否则结束程序,输出结果。3.用调用子程序的方法实现1!+2!+3!+10!,代码如下:asmp.s AREA JC, CODE, READONLY EXPORT JCP ENTRYJCP ADD R3, R0, #1 MOV R2, #1 MOV R1, #1LOOP MUL R0, R1, R2 MOV R1, R0 ADD R2, R2, #1 CMP R2, R3 BNE LOOP NOP MOV PC, LR ENDPROGC.c#include

5、Extern int JCP(int N)int main() int res=0; int m=10; int i; for (i=1;iTEXT2=“OLLEH” AREA invstring, CODE, READONLYstart ADR R1, TEXT1 ADR R2, TEXT2 MOV R3, #0 LDRB R0, R1, #1 ADD R3, R3, #1 CMP R0, #0 SUB R1, R1, #2LOOP1 LDRB R0, R1, #-1 STRB R0, R2, #1 SUB R3, R3, #1 CMP R3, #1 BNE LOOP1 MOV R5, #&

6、55TEXT1 =“HELLO”,0 ALIGNTEXT2 =“OELLH”五、 实验小结 在这次实验中,学会了如何使用汇编程序进行编程。对汇编程序编程一些基本的要求有了一定的了解,学习了C语言的语法和在其中调用汇编程序的方法。学会了利用CodeWarrior IDE开发C和ARM汇编代码。学会了在AXD中进行代码调试的方法和过程,对AXD的调试有初步的了解。实验二 嵌入式Linux交叉开发环境的建立一、实验目的1、掌握嵌入式Linux交叉开发环境的建立方法2、 学习和掌握Linux常用命令3、 学习和掌握vi编辑器的使用二、实验内容1、搭建嵌入式Linux交叉开发环境2、熟悉Linux的常用

7、命令3、熟悉vi编辑器的常用命令三、实验原理Linux系统是UNIX系统的分支,是UNIX的微机版。Linux具有异常丰富的驱动程序资源,支持各种主流的硬件设备与技术。Linux包含了现代的UNIX操作系统的所有功能特性,这些功能包括多任务、虚拟内存、虚拟文件系统、进程间通信、对称所处理器、多用户支持等。Vi编辑器是所有UNIX和Linux下的标准编辑器。它包含3种工作模式。嵌入式系统是专用的计算机系统,它对系统的功能、可靠性、成本、体积、功耗等有严格的要求。大部分嵌入式系统没有大容量存储设备,一般不能安装大型开发软件,系统的开发需要采用交叉开发模式。四、实验过程与关键代码分析实验用的是UP-

8、NetARM2410-S试验箱,里面配有三星的芯片S3c2410X。打开电脑上VMWare软件,在Windows系统下启动虚拟机里的Linux系统。接着需要1. 宿主机的环境搭建 下载并运行VMWare,根据向导创建一台新虚拟机并选择Linux作为客户操作系统,再根据向导安装RedHat Linux 9.0。2. 虚拟机中启动Linux操作系统 使用root登陆,用户名为root,密码为123456。之后对共享文件设置进行调整:打开settings界面,打开shared folders功能,同时将路径设置到有课前下载的软件的目录下。3. 开发工具软件的安装(1)安装gcc打开Linux后,打开

9、终端窗口,在共享的目录下找到install.sh并运行,命令如下:ls. / install.sh 安装程序将自动建立/arm2410s目录,并将所有的开发软件包安装到/arm2410s 目录下,同时自动配置编译环境,建立合适的符号链接。安装完成后在目录/opt/host/armv4l/bin/下应该能看到主编译器。(2)配置PATH路径 vi .bash.profile 将里面PATH变量改为PATH=$PATH:$HOME/bin:/opt/host/armv41/bin/; 存盘后执行 source .bash_profile以后armv4l-unknown-linux-gcc将被自动搜

10、索到4. 宿主机上的开发环境配置(1)配置IP地址 ifconfig eth0 192.168.0.121 命令配置了宿主机的IP地址。然后打开网络配置窗口,重新探测MAC地址。 重新激活。(2)关闭防火墙 单击“Red”菜单“系统设置”“安全级别”打开“安全级别配置”窗口,选择“无防火墙选项。” (3)配置NFS。 单击“Red”菜单“系统设置”“服务器设置”“服务”,在“服务配置”窗口中勾选nfs,单击“开始”(4)NFS设置单击“Red”菜单“系统设置”“服务器设置”“NFS服务器”,打开“NFS服务器配置”窗口,设置NFS共享。然后在NFS服务器中增加主机IP地址的链接许可和目录。完成

11、配置。5. 目标机的信息输出Windows系统下,“开始”“所有程序”“附件”“通讯”“超级终端”,新建一个通信终端。区号、电话号码随意输入。设置每秒位数为“115200”,数据位为“8”,无奇偶校验,停止位为“1”,无数据流控制。单击“确定”。6. 程序的运行 打开超级终端,启动Linux,屏幕显示: /mnt/yaffs 在超级终端上执行挂载命令: /mnt mount t nfs 192.168.0.121:/arm2410s /mnt/nfs挂载成功后可执行程序。五、实验小结 在这次实验中,学会建立Linux交叉开发环境,学会了ls和vi,cd等常用的Linux命令,并掌握了Vi编辑器

12、的使用方法。同时知道了如何在搭建失败时寻找错误进行排错。1、掌握嵌入式Linux环境下的程序设计方法2、学会编写Makefile文件 1、熟悉嵌入式教学实验箱的使用2、编写C程序和Makefile文件3、编译程序产生可执行程序4、完成主机的挂载和程序的执行在嵌入式Linux环境下的程序设计方法有一下几个步骤:1. 编写源程序2. 编写Makefile文件3. 编译程序4. 运行和调试程序5. 将生产的可执行文件加入文件系统。前三个步骤在宿主机上完成,后面的步骤在目标机上完成。1. 建立工作目录mkdir hello cd hello2. 编写源程序用vi编辑器编辑Hello.c文件 vi He

13、llo.c在Vi中输入源程序如下: #include main() printf(“hello world n”); 3编写Makefile文件 vi Makefile在vi中编辑Makefile文件如下: CC= armv4l-unknown-linux-gcc EXEC = hello OBJS = hello.o CFLAGS += LDFLAGS+= -static all: $(EXEC) $(EXEC): (OBJS) $(CC) $(LDFLAGS) o $ $(OBJS)clean:-rm f $(EXEC) *.elf *.gdb *.o4.编译程序在hello目录下运行“m

14、ake”来编译程序。 make clean make编译成功后,生成可执行文件Hello.o。5.下载调试在宿主机上启动nfs服务,并将/arms2410s设置为共享目录。接下来启动超级终端,建立通讯,挂载。/mnt mount t nfs 192.168.0.121:挂载成功后,进入/mnt/nfs,再进入/mnt/nfs/hello,直接运行刚刚编译生成的可执行文件Hello.o,查看运行结果 . /hello可以看见“Hello world”只需要挂载一次便可,只要实验箱没有重启,就可以一直保持连接。反复修改、编译、调试,直至程序调试通过。6.可执行文件加入文件系统程序调试通过后,可以把可执行文件拖放到usr/bin目录下,然后使用mkcramfs制作工具生成新的文件系统。当系统启动后,就可以在相应目录下执行可执行程序hello. 在这次实验中,学会了在嵌入式Linux环境下设计程序。同时知道了如何对目标机进行挂载。以及如何在发现挂载不成功寻找错误进行修改。另外在编译文件时需要注意的也都有所了解。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1