arm嵌入式实验报告

合集下载

ARM嵌入式实验报告

ARM嵌入式实验报告

A R M 嵌入式实验报告专业班级:学号:姓名:指导教师:目录一.实验步骤 (3)二.实验内容1.高八位的传送 (7)2.64位的加法 (9)3.计算10! (11)4.地址搬移 (14)三.心得体会 (18)一.实验操作步骤1.新建工程:运行Embest IDE 集成开发环境,选择菜单项File →New Workspace ,系统弹出一个对话框,键入文件名“xx”,点击OK 按钮。

将创建一个新工程,并同时创建一个与工程名相同的工作区。

此时在工作区窗口将打开该工作区和工程.。

2.建立源文件:点击菜单项File → New,系统弹出一个新的文本编辑窗,输入源文件代码。

编辑完后,保存文件“xx.s”后缀3.添加源文件:选择菜单项Project →Add To Project →Files ,在工程目录下选择刚才建立的源文件xx.s后缀文件,4.基本配置:选择菜单项Project →Settings,弹出工程设置对话框。

在工程设置对话框中。

(1)择Processor和Remote 设置对话框,进行配置:(2)选择Build---Rebuild All,编译成功。

(3)选择Project →Settings →Debug设置对话框,进行配置:5.选择菜单项Debug →Remote Connect 进行连接软件仿真器,执行Debug →Download 命令下载程序,并打开窗口View---- Debug Window---Menory,打开窗口View---- Debug Window---Registar将存储器地址改为0x00001000,按F10进行单步跟踪,观察寄存器的数据变化并分析。

二.实验内容1.编写程序将R2的高8位传送到R3的低8位,不考虑R3的其他位。

1)程序代码:.global _start_start:ldr R2,=0x18120588ldr R3,=0x13781470mov R2,R2,ROR #24and R2,R2,#0x000000ffand R3,R3,#0xffffff00orr R3,R3,R2stop:b stop.end2)程序源码下载到0x00001000,并被成功执行3)实验分析分别将18120588和13781470存入R2和R3中将R2中的高8位“18”移到R2的低8位,原来的数“18120588”变为“12058818”屏蔽掉R2中的高24位,使其不影响R3中高24位的数值屏蔽掉R3中的低8位,能将R2的低8位移到R3的低8位将R2中的高8位”18”移到R3的低8位而不影响R3中的其他的24位2、实现64位的加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中。

ARM嵌入式开发实验课程学习报告

ARM嵌入式开发实验课程学习报告

ARM实验报告 39032510 赵正ARM嵌入式开发实验课程学习报告39032510摘要:在两周的ARM实验课程学习中,我初步了解了ARM的一些基本知识,上课的过程中也按实验指导书中的内容学习了一些例程,了解了PB平台下工程的建立、程序的编译和运行,利用实验箱中的设备实验了对数码管,点阵,电机等的控制,虽然只学到了一点皮毛,两天的学习还是让我觉得收获良多。

一、对ARM的认识在选择这一门课前,其实我对ARM一点也不了解,只是在做电设时听说有一组同学用ARM来进行控制,觉得挺高端,于是趁有这个机会就想见识一下ARM的强大功能。

经过老师第一节课的简单讲解,我了解了ARM的一些知识,现在常见的系统有LUNIX和WINCE,我们实验中用的是WINCE系统,下面说下实验的心得。

二、第一个实验---系统的定制以前学单片机,基本上简单看看原理图就开始进行程序的编写,而翻开ARM的指导书,发现要定制系统,没听说过。

分配了实验箱后,靠之前积累的经验,那些导线的连接还是没什么问题的。

打开电源发现我们的实验箱屏目上不显示,而别人的却有,想了一下才明白,原来是那些箱子已经有人把系统烧进去了。

然后开始按步骤定制系统。

自己不熟悉的步骤主要有以下几点:1. 对CMD命令提示框不会操作,如何打开一个文件不清楚,经寻问,得知要用“cd+文件夹名称“ 可以打开。

图表 1 命令提示框ARM实验报告 39032510 赵正2. 对于什么是网关,什么是网络地址了解不多,在修改IP时搞了好半天图表 2 IP设置界面最后费尽周折,花了近2个小时时间,终于利用Jflash.exe将eboot.nb0烧到Flash 中,这时才发现,利用PB生成的NK文件还没有用到。

随后稍稍顺利了一点,最终也把NK文件烧进Flash中,但发现界面是英文的,不太方便,还有就是一旦重启,就需要重新烧录,之后改了超极终端里的一些选项,解决了这个问题。

三、最头疼的实验———实验箱与宿主机的连接在熟悉了实验的基本过程后,很快做到了实验箱与宿主机的连接,此前也了解过单片机实验板与PC机的连接,用的是串口线,至于实验中的ARM,记得实验中有一个串口线,一个并口线,一个网线,也不知通过哪个连的。

arm嵌入式实验报告完整版

arm嵌入式实验报告完整版

arm嵌入式实验报告完整版篇一:ARM嵌入式系统实验报告1郑州航空工业管理学院嵌入式系统实验报告第赵成,张克新院姓专学系:名:业:号:电子通信工程系周振宇物联网工程 121309140电子通信工程系XX年3月制实验一 ARM体系结构与编程方法一、实验目的了解ARM9 S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2 IDE中进行ARM汇编语言程序设计。

二、实验内容1.ADS1.2 IDE的安装、环境配置及工程项目的建立;2.ARM汇编语言程序设计(参考附录A):(1)两个寄存器值相加;(2)LDR、STR指令操作;(3)使用多寄存器传送指令进行数据复制;(4)使用查表法实现程序跳转;(5)使用BX指令切换处理器状态;(6)微处理器工作模式切换;三、预备知识了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。

四、实验设备 1. 硬件环境配置计算机:Intel(R) Pentium(R) 及以上;内存:1GB及以上;实验设备:UP-NETARM2410-S嵌入式开发平台,J-Link V8仿真器; 2. 软件环境配置操作系统:Microsoft Windows XP Professional Service Pack 2;集成开发环境:ARM Developer Suite (ADS)1.2。

五、实验分析1.安装的ADS1.2 IDE中包括两个软件组件。

在ADS1.2中建立 ARM Executable Image(ARM可执行映像)类型的工程,工程目标配置为 Debug;接着,还需要对工程进行目标设置、语言设置及链接器设置;最后,配置仿真环境为ARMUL仿真方式。

2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。

ARM嵌入式实验报告

ARM嵌入式实验报告

实验一ARM 汇编指令使用实验——基本数学/ 逻辑运算一、实验目的1. 初步学会使用ARM ADS / Embest IDE for ARM 开发环境及ARM 软件模拟器。

2. 通过实验掌握数据传送和基本数学/ 逻辑运算的ARM 汇编指令的使用方法。

二、实验设备1. 硬件:PC机。

2. 软件:ADS 1.2 / Embest IDE 200X 集成开发环境。

三、实验内容1 .熟悉ADS 1.2 / Embest IDE 200X 开发环境的使用,使用LDR/STR和MOV等指令访问寄存器或存储单元,实现数据的加法运算。

具体实验程序如下:/* armasm1a.s */• EQU X, 45 /*定义变量X,并赋值为45*/.EQU Y, 64 /*定义变量Y,并赋值为64*/.EQU STACK_TOP, 0X1000 /* 定义栈顶0X1000*/.GLOBAL _START.TEXT_START: /* 程序代码开始标志*/MOV SP, #STACK_TOPMOV R0, #X/*X 的值放入R0*/STR R0, [SP]/*R0 的值保存到堆栈*/MOV R0, #Y/*Y 的值放入R0*/LDR R1, [SP]/* 取堆栈中的数到R1*/STRR0, [SP] STOP: B STOP/* 程序结束,进入死循环 */.END等指令,完成基本数学 / 逻辑运算。

具体实验程序如下:/* armasm1b.s */ .EQU X, 45 /*定义变量X ,并赋值为45*/ .EQU Y, 64 /*定义变量Y ,并赋值为64*/ .EQU 乙87/*定义变量Z ,并赋值为87*/.GLOBAL _START .TEXT_START: /* 程序代码开始标志 */MOV R0, #X/*X 的值放入 R0*/MOV R0, R0, LSL #8 /*R0 的值乘以 2 的 8 次方 */ MOV R1, #Y/*Y 的值放入 R1*/ADD R2, R0, R1, LSR #1 /*R1 的值除以 2 再加上 R0 后的值放入 R2*/MOV SP, #0X1000 STR R2, [SP] MOV R0, #Z/*Z 的值放入 R0*/ AND R0, R0, #0XFF /* 取 R0 的低八位 */ MOV R1, #Y/*Y 的值放入 R1*/ADD R2, R0, R1, LSR #1 /*R1 的值除以 2 再加上 R0 后的值放入 R2*/ADDR0, R0, R1 2.使用 ADD/SUB/LSL/LSR/AND/ORR .EQU STACK_TOP, 0X1000 /* 定义栈顶 0X1000*/1.新建工程。

嵌入式实验报告

嵌入式实验报告

嵌入式实验报告本次实验我们使用了一款基于ARM Cortex-M3处理器的开发板,开发板上运行的是嵌入式操作系统UCOS-II。

我们通过这个实验了解了嵌入式系统的工作流程,以及如何使用开发板进行程序编程和调试。

实验内容分为两个部分:第一个部分是编写一个简单的LED 闪烁的程序,第二个部分则是使用串口通信,将开发板和PC机进行连接,并通过PC机上的终端程序,实现与开发板之间的通信。

第一部分:LED闪烁程序在这个部分,我们首先学习了如何配置开发板上的GPIO(Generic Input/Output)接口,以控制LED的亮灭。

然后,我们编写了一个简单的程序,将LED的亮度不断地切换,使其看起来像在闪烁。

通过这个实验,我们学会了如何使用开发板上的寄存器,设置和读取相关的控制寄存器信息。

在程序编写的过程中,我们还学习了如何进行代码调试,以及如何使用JLink等开发工具对程序进行下载和烧录。

第二部分:串口通信在这个部分,我们使用了开发板上的UART(Universal Asynchronous Receiver/Transmitter)接口,将开发板和PC机进行连接。

之后,我们在PC机上安装了一个终端程序(TeraTerm),通过串口发送数据到开发板上,并将开发板返回的数据显示在终端窗口中。

通过这个实验,我们学习了如何使用UART接口进行数据的收发。

我们还学习了UCOS-II操作系统下的信号量使用方法,以及在多任务环境下,如何实现任务间的通信和同步。

总结在这个实验中,我们对嵌入式开发的基础知识进行了全面深入的了解,并通过实践的方式完成了两项实际应用场景的设计和实现。

我们大大提高了自己的嵌入式开发技能,同时也体验到了从开发到调试、测试、验证的整个流程,对我们日后的开发工作具有非常重要的启示意义。

arm实训总结

arm实训总结

arm实训总结标题:ARM实验实训总结报告一、前言本次ARM实验实训是我对嵌入式系统设计与开发的一次深度实践。

通过这次实训,我对ARM微处理器的结构原理、指令集以及基于ARM架构的嵌入式系统开发流程有了更为直观和深入的理解。

二、实训内容回顾在实训过程中,我们主要围绕ARM Cortex-M系列处理器进行学习和实践。

首先,从理论层面,我们系统地学习了ARM体系结构、工作模式、存储器管理、异常处理等基础知识;其次,在实践环节,我们使用Keil MDK等开发工具进行了汇编和C语言编程,完成了中断服务程序设计、定时器应用、串口通信等多个实战项目。

三、实训过程及收获1. 硬件操作与调试:通过对ARM开发板的实际操作,我亲身体验了硬件连接、程序下载、在线调试等环节,对硬件底层的工作原理有了更清晰的认识,也锻炼了我的动手能力和问题解决能力。

2. 软件编程与实现:通过编写和调试ARM汇编和C语言代码,我对ARM的指令集、寄存器配置、中断处理机制等有了深入理解,同时也提升了我的编程技能和逻辑思维能力。

3. 团队协作与交流:在完成复杂项目的过程中,我们分工合作,共同探讨解决方案,这不仅提高了我在团队环境下的工作效率,也锻炼了我与他人沟通协调的能力。

四、实训反思与展望尽管在实训过程中取得了一定的进步,但我也意识到自身在某些方面还有待提升,如对实时操作系统RTOS的理解与应用、硬件驱动程序的设计与优化等。

未来的学习中,我将深化对这些领域的研究,努力提升自己在嵌入式系统开发方面的综合能力。

总结,此次ARM实训是一次宝贵的实践经历,它使我对嵌入式系统的软硬件协同设计有了更深层次的认知,并为我后续从事相关领域的工作或研究打下了坚实的基础。

五、结语ARM实训不仅是对我现有知识的检验,更是对未来专业技能的磨砺。

我会珍视这份实践经验,以此为契机,持续探索并深化对嵌入式系统尤其是ARM架构技术的研究,为我国的科技创新事业贡献自己的力量。

嵌入式系统ARM实验报告

嵌入式系统ARM实验报告

南京邮电大学通信与信息工程学院实验报告实验名称:实验一基于ADS开发环境的设计实验二嵌入式Linux交叉开发环境的建立实验三嵌入式Linux环境下的程序设计课程名称嵌入式系统B班级学号B********姓名马俊民开课时间2015/2016学年第1学期实验一基于ADS开发环境的程序设计一、实验目的1、学习ADS开发环境的使用;2、学习和掌握ADS环境下的汇编语言及C语言程序设计;3、学习和掌握汇编语言及C语言的混合编程方法。

二、实验内容1、编写和调试汇编语言程序;2、编写和调试C语言程序;3、编写和调试汇编语言及C语言的混合程序;4、编写程序测试多寄存器传送指令的用法。

三、实验原理ADS全称为ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具。

现在常用的ADS版本是ADS1.2,它取代了早期的ADS1.1和ADS1.0。

ADS用于无操作系统的ARM系统开发,是对裸机(可理解成一个高级单片机)的开发。

ADS具有极佳的测试环境和良好的侦错功能,它可使硬件开发工作者更深入地从底层去理解ARM处理器的工作原理和操作方法,为日后自行设计打基础,为BootLoader的编写和调试打基础。

1.ADS软件的组成ADS由命令行开发工具、ARM运行时库、GUI开发环境(CodeWarrior和AXD)、实用程序、支持软件等组成。

2.GUI开发环境ADS GUI开发环境包含CodeWarrior和AXD两种,其中Code Warrior是集成开发工具,而AXD是调试工具。

使用汇编语言进行编程简单、方便,适用于初始化硬件代码、启动代码等。

汇编语言具有一些相同的基本特征:1.一条指令一行。

2.使用标号(label)给内存单元提供名称,从第一列开始书写。

3.指令必须从第二列或能区分标号的地方开始书写。

4.注释必须跟在指定的注释字符后面,一直书写到行尾。

在ARM汇编程序中,每个段必须以AREA作为段的开始,以碰到下一个AREA 作为该段的结束,段名必须唯一。

嵌入式arm实习报告

嵌入式arm实习报告

嵌入式arm实习报告嵌入式arm实习报告嵌入式系统开发与应用概述在今日,嵌入式ARM 技术已经成为了一门比较热门的学科,无论是在电子类的领域,你都可以看到嵌入式ARM 的影子。

如果你还停留在单片机级别的,那么实际上你已经落下时代脚步了,ARM 嵌入式技术正以几何的倍数高速发展,它几乎渗透到了几乎你所想到的领域。

由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业具体应用等突出特征,目前已经广泛地应用于军事国防、消费电子、信息家电、网络通信、工业控制等各个领域。

嵌入式的广泛应用可以说是无所不在。

linux系统linux系统主要是由用户空间和内核空间再加上外部的硬件平台构成,用户空间就是用户应用程序的运行空间,主要包括两方面的内容:用户应用程序和GNU C Library(glibc)。

而内核空间有三方面的内容,一是系统调用接口,它作为用户空间和内核空间相互转移的一种方式,二是内核空间,三是体系相关内核代码,在linux内核代码中,可以看到arch目录下有许多子目录,其中每一个子目录代表一种硬件平台。

而为什么要把linux系统划分为用户空间和内核空间呢?主要是一旦用户空间和内核空间没有分开,那用户将拥有很大的权限去操控内核或用户应用程序的崩溃将会造成系统的崩溃,而linux系统是利用cpu的模式分级来分别运行用户空间和内核空间,这样就可以使操作系统得到充分的保护。

而现代的cpu通常实现了不同的工作模式,以ARM处理器为例实现了7种运行模式,分别为:1)用户模式(usr):ARM微处理器正常程序执行模式2)系统模式(sys):运行具有特权的操作系统任务3)中断模式(irq):用于通用的中断处理4)外部中断模式(fiq):用于高速数据传输或通道处理5)数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护6)管理模式(svc):操作系统使用的保护模式7)未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变,除用户模式外,模式都是非用户模式或特权模式,除用户模式和系统模式外,其他模式都是异常模式,常用于处理异常或中断,以及需要访问受保护的系统资源等情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

arm嵌入式实验报告
ARM嵌入式实验报告
近年来,随着科技的不断进步,嵌入式系统在各个领域得到了广泛应用。

作为
其中一种重要的嵌入式处理器架构,ARM架构以其高效能和低功耗的特点,成
为了众多嵌入式系统的首选。

本实验报告将介绍我在ARM嵌入式实验中的学习和体会。

1. 实验背景和目的
嵌入式系统是指将计算机技术应用于各种电子设备中,以完成特定任务的系统。

ARM架构作为一种低功耗、高性能的处理器架构,广泛应用于智能手机、平板
电脑、物联网设备等领域。

本次实验的目的是通过学习ARM架构的基本原理和应用,了解嵌入式系统的设计和开发过程。

2. 实验内容
本次实验主要包括以下几个方面的内容:
2.1 ARM架构的基本原理
首先,我们学习了ARM架构的基本原理,包括指令集、寄存器、内存管理等方面的知识。

ARM指令集具有丰富的指令种类和灵活的寻址方式,可以满足不同
应用的需求。

同时,ARM处理器具有多个寄存器,用于存储和操作数据,提高
了程序的执行效率。

此外,内存管理是嵌入式系统设计中非常重要的一环,ARM架构通过虚拟内存管理机制,实现了对内存的高效管理。

2.2 ARM开发工具的使用
为了进行ARM嵌入式系统的开发,我们需要使用相应的开发工具。

本次实验中,我们学习了如何使用Keil MDK开发工具,进行ARM程序的编译、调试和下载。

Keil MDK提供了一套完整的开发环境,包括编译器、调试器和仿真器等,方便
了我们进行ARM程序的开发和调试。

2.3 ARM嵌入式系统的设计和开发
在掌握了ARM架构和开发工具的基本知识后,我们开始进行ARM嵌入式系统
的设计和开发。

本次实验中,我们以一个简单的温度监测系统为例,设计了相
应的硬件电路和软件程序。

硬件电路包括传感器、模拟转换电路和显示器等,
用于采集和显示温度数据。

软件程序则负责控制硬件电路的运行,并将采集到
的温度数据进行处理和显示。

3. 实验结果和分析
通过实验,我们成功地设计和开发了一个基于ARM架构的温度监测系统。

该系统能够准确地采集和显示环境温度,并具备一定的实时性和稳定性。

在实验过
程中,我们遇到了一些问题,例如传感器的精度和噪声干扰等,但通过调试和
优化,最终解决了这些问题。

4. 实验总结和心得体会
通过本次实验,我对ARM嵌入式系统的设计和开发有了更深入的了解。

ARM
架构的高效能和低功耗使其成为了嵌入式系统的首选,而开发工具的使用则提
高了开发效率。

在未来的学习和工作中,我将继续深入研究ARM嵌入式系统的相关知识,不断提升自己的能力。

总之,本次ARM嵌入式实验为我提供了一个很好的学习机会,使我对嵌入式系统的设计和开发有了更深入的了解。

通过实践和探索,我不仅学到了理论知识,还提高了实际操作的能力。

相信在今后的学习和工作中,我能够更好地应用所
学知识,为嵌入式系统的发展做出自己的贡献。

相关文档
最新文档