文档库 最新最全的文档下载
当前位置:文档库 › 基于ARM嵌入式系统实验平台的研制

基于ARM嵌入式系统实验平台的研制

arm嵌入式系统课后习题部分答案

a r m嵌入式系统课后习题 部分答案 The pony was revised in January 2021

一填空题嵌入式系统从大的方面分为(嵌入式系统硬件平台)和(嵌入式软件)两大部分。 驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)和(设备驱动程序)。 嵌入式系统核心是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器和(嵌入式片上系统SoC)4大类。处理器分为(ARM)和(Thumb)两种操作状态。 状态下,SP寄存器指的是(R13)、LR寄存器指的是(R14)、PC寄存器指的是(R15). 处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。 (-S)指令集包括(ARM)指令集和(Thumb)指令集。 指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。 指出下面各条指令的寻址方式。 SUB R0,R1,R2 ;寻址方式:(寄存器寻址)。

SUBS R0,R0,#1 ;寻址方式:(立即寻址)。 MOV R0,R2,LSL#3 ;寻址方式:(寄存器移位寻址)。 SWP R1,R1,[R2] ;寻址方式:(寄存器间接寻址)。 LDR R2,[R3,#0x0C] ;寻址方式:(基址寻址)。 汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)和宏指令组成。 对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )和(IAP)3重方法来实现。 异常向量表可以来自4个不同的存储器区域,分别是(片内Flash )、(片内SRAM )、( Boot Block )和片外存储器。 系列的定时器主要用于3个方面:(对内部事件进行计数的间隔定时器)、(通过捕获输入实现脉宽解调器)、(自由运行的定时器)。二选择题 可以表示微控制器的缩略词是( B ) A. MPU B. MCU C. WDT 类存储器包括( ABD )

ARM嵌入式系统基础试验参考指导书

ARM嵌入式系统基础试验参考指导书

ARM嵌入式系统基础 1 实验指导书原大明 2013.9 实验一 ADS 开发环境实验 一、实验目的 1、掌握 ADS 开发环境的使用; 2、了解 ADSModule 工程基本结构和内容; 3、掌握在 ADS 下建立工程进行开发的基本技巧。 二、实验内容 1、熟悉 ADS 开发环境中的各个组件; 2、建立并编译一个工程; 3、使用AXD调试仿真。 三、实验设备 1、硬件: PC 机 2、软件: PC 机操作系统(WINDOWS XP); ARM Developer Suite v1.2。 四、预备知识 1、了解 ARM 和 S3C2410 体系结构; 2、了解 ARM 和 S3C2410 汇编语言。 五、实验内容 1、实验程序 AREA EXAMPLE3,CODE,READONLY ;/*声明一段名为EXAMPLE3的CODE*/ ENTRY ;/*指定函数的入口*/ START MOV R0,#0xFF ;/*把#0xFF传送到R0*/ MOV R1,#0xEF000000 ;/*把#0XEF000000传送到R1*/ MOV R2,#0x2F000000 ;/*把#0x2F000000传送到R2*/ MVN R3,#0Xff ;/*把#0xFF取反后传送到R3*/ ADD R4,R2,R1 ;/*把R2加R1的值传送到R4*/ ADDS R5,R2,R1 ;/*把R2加R1的值传送R5,s表示会影响cpsr*/ ADCS R6,R2,R1 ;/*把R2加R1的值,再加上carry的值后传送到R6. ;s表示值会影响cpsr*/ SUB R4,R2,R1 ;/R2减R1的值传送到R4*/ SUBS R4,R2,R1 ;/*R2减R1的值传送到R4, s表示影响cpsr*/ RSB R5,R2,R1 ;/*R1减R2的值传送到R5*/

(完整版)2014完整ARM嵌入式系统实验报告

郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 20 – 20第学期 赵成,张克新编著

院系: 姓名: 专业: 学号: 电子通信工程系 2014年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中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。 2.写出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汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。 ; 文件名: AREA XTF,CODE,READONLY 声明32位ARM指令 R0arm嵌入式实验报告完整版) ADD R0,R1,R2 3.列写出使用LDR、STR指令的汇编程序,并在关键语句后面给出相应的注释。 AREA XTF,CODE,READONLY ;声明代码段XTFENTRY ;标示程序入口CODE32 ;声明32位ARM 指令START LDR R0,=1 ;加载数据LDR R1,=2LDR R3,=ADDR_1;载符号地址 ADD R2,R0,R1;R2[R3] ;数据空间定义 AREA Data_1,DATA,ALIGN=2 ADDR_1 DCD 0 END ;结束 4.“使用多寄存器传送指令进行数据复制”汇编程序分析。 LDR R0,=SrcData ;

ARM嵌入式-ADS-1.2-集成开发环境练习实验报告

专业班级: 学号: 实验名称: 姓名: 实验所属课程: 实验室(中心): 指导教师: 实验完成时间:年月日

一、实验目的: 了解ADS 1.2 集成开发环境的使用方法。 二、实验设备: 1.硬件:PC 机一台 2.软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境 三、实验容: 1.建立一个新的工程; 2.建立一个C 源文件,并添加到工程中; 3.设置文本编辑器支持中文; 4.设置编译控制选项; 5.编译工程; 6.调试工程。 四、实验预习要求: 仔细阅读产品光盘附带文档《ADS 集成开发环境及仿真器应用》或其它相关资料,了解ADS 工程编辑的容。 五、实验步骤: 1. 启动ADS1.2 IDE 集成开发环境,选择【File】->【New…】,使用ARM Executable Image 工程模板建立一个工程,工程名称为ADS,见图 2.1。 图2.1 建立ARM 指令代码的工程

2.选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中,见图2.2。输入如程序清单2.1 所示的代码,并保存,见图2.3。 图2.2 新建文件TEST1.S 程序清单2.1 TEST1.S 文件代码 AREA Example1,CODE,READONLY ; 声明代码段Example1 ENTRY ; 标识程序入口 CODE32 ; 声明32 位ARM 指令START MOV R0,#15 ; 设置参数 MOV R1,#8 ADDS R0,R0,R1 ; R0 = R0 + R1 B START END 图2.3 添加了TEST1.S 的工程管理窗口

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_TOP MOV R0, #X /*X的值放入R0*/ STR R0, [SP] /*R0的值保存到堆栈*/ MOV R0, #Y /*Y的值放入R0*/ LDR R1, [SP] /*取堆栈中的数到R1*/ ADD R0, R0, R1 STR R0, [SP] STOP: B STOP /*程序结束,进入死循环*/ .END 2.使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。具体实验程序如下:/* armasm1b.s */ .EQU X, 45 /*定义变量X,并赋值为45*/ .EQU Y, 64 /*定义变量Y,并赋值为64*/ .EQU Z, 87 /*定义变量Z,并赋值为87*/ .EQU STACK_TOP, 0X1000 /*定义栈顶0X1000*/ .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

ARM嵌入式实验开发系统

ARM嵌入式实验开发系统EL-ARM-830+ 产品描述 一、适用范围: EL-ARM-830+型嵌入式实验开发系统适合高等院校《嵌入式系统原理开发与设计》课程的实验教学,可以移植linux、uclinux、VxWorks、pSOS、QNX、ucosII、WinCE等嵌入式操作系统,适合嵌入式系统的实验教学、课题开发、毕业设计及电子设计竞赛等,同时该系统也是电子工程师们理想的开发工具。 二、系统结构简介: EL-ARM-830+教学实验系统属于一种综合的教学实验系统。系统采用实验箱底板加活动CPU板的形式。实验箱底板资源丰富。CPU板可选择ARM7、ARM9、XSCALE255/270、DM355。同时,实验系统上的Techv总线和E-lab总线能够扩展Techv系列和E-lab系列功能模块,极大增强系统的功能,用户也可以基于Techv总线和E-lab总线开发自己的应用模块,完成自己的课题。除此之外,实验系统提供丰富的样例实验,并且提供操作系统移植的源代码,所有的实验程序都有丰富详尽的注释说明,极大的方便了教学。 CPU板:可以更换,支持多种CPU S3C2410(ARM9内核) 主处理器:S3C2410是 200 MIPS ARM920T 内核; 外部存储器单元: SDRAM: 64MB NANDFlash:64MB 10M/100M自适应以太网接口; USB 1.1接口(Host或peripheral)两种模式; 标准的RS232接口; 实时时钟(RTC)单元; 扩展总线接口,连接所有信号线,可进行应用背板扩展; 标准20针JTAG调试接口; 复位电路,电源、运行状态指示灯; 直流5V单电源供电,含电源转换电路; 以上CPU板除与底箱配合使用外,还可独立成系统,单独使用! 实验箱底板:主要包括以下模块: CPU板接口单元:可接ARM7,ARM9,ARM10等CPU板; 数字量输入输出单元:输入:8位自锁按键开关;输出:8位数码管及8位发光二极管; PS/2接口单元:支持PS/2键盘、鼠标; 液晶显示单元:8寸TFT真彩液晶屏,可带触摸屏,分辨率为:640×480; 键盘接口单元:4X4键盘,带8位LED数码管;芯片HD7279A;用户可自定义键值; 触摸屏单元:(选配部件)ADS7843作为触摸屏控制芯片,线触摸屏接口,2.7V~5V信号电压,达到125KHz转换率,可编程的8位、12位转换精度; 音频及接口模块:IIS格式,芯片UDA1341TS,采样率最高48KHz,通过IIS总线和系统连接 一个立体声耳机输出(2.5mm外接耳机接口) 一个立体声麦克输入(2.5mm外接耳机接口 一个音频信号输入(2.5mm外接耳机接口) USB接口:1个主接口,两个设备接口,芯片SL811H/S,PDIUSBD12,支持 USB1.1协议; RS232通讯模块:标准RS232接口,完成与PC机的串行数据的转换; IIC总线接口; IDE接口:可外挂硬盘、DOC、COMPACT FLASH卡;

ARM汇编及接口设计-实验报告

《ARM汇编与接口设计》 实验报告 学生姓名: 学号: 专业班级: 指导教师: 完成时间:

实验1 ARM 汇编与S3C6410接口设计 一.实验目的 熟悉裸板开发环境构建,掌握利用ADS 开发工具或arm-linux-gcc 开发工具编写裸板系统下程序的基本步骤和方法,掌握裸板程序的基本架构,熟悉汇编设计的基本指令和伪指令的使用方法,掌握S3C6410接口开发基本方法和步骤,并编程设计LED 流水灯和看门狗程序设计。深刻体会软件控制硬件工作的基本思路和方法。 二.实验内容 实验1.1 熟悉ADS 开发工具或交叉编译器arm-linux-gcc 的安装和基本使用 实验1.2 LED 流水灯实验 实验1.3 看门狗实验 三.预备知识 C 语言、微机接口等 四.实验设备及工具(包括软件调试工具) 硬件:ARM 嵌入式开发平台、PC 机Pentium100 以上、串口线。 软件: WinXP 或UBUNTU 开发环境。 五.实验步骤 5.1 ADS 开发工具安装和使用 步骤: 第一步,ADS 工具安装在___A___(A. WINDOWS 平台 B.linux 平台)下,按照类似于VC++开发工具的使用方法和步骤来进行使用。 第二步,利用ADS 打开demo 项目模板,查看ADS 中配置中几个重要选项, 第三步,参照demo 项目代码结构,编写裸板程序完成两整数加和两整数减函数,分别用C 代码实现,写出完成汇编启动代码和C 代码。 第四步 用ADS 自带的ARM 模拟器调试上述代码,查看调用AddFun 的汇编代码,可以看到变量a 和变量 b 被编译器优化到寄存器______r1_____、_____r0______中,函数返回汇编语句为__MOV PC,R14__,在这条语句中分别用到寄存器______r14_____、_______pc____。 5.2 arm-linux-gcc 编译工具安装和使用

ARM与嵌入式实验报告

ARM与嵌入式技术 实验报告 专业班级:通信工程 姓名:**** 学号:****** 实验日期:2012年6月7日 指导老师:*****

一、实验目的 1.学习使用Embest IDE开发环境及ARM 软件模拟器; 2.掌握简单ARM 汇编指令,进一步加强对嵌入式的熟悉和了解。 二、实验设备 硬件:PC 机 软件:Embest IDE 开发环境 三、实验内容 例3:实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中; 例2:编写程序将R2的高8位传送到R3的低8位(不考虑R3的其它位); 例7:编写一段程序计算10!; 例8:串拷贝(R1指向源数据串的首地址,R0指向目的数据串的首地址)。 四、实验步骤 1) 新建工程: 运行Embest IDE 集成开发环境,选择菜单项File →New Workspace ,如图一,系统弹出一个对话框,键入文件名“沈”,如图二,点击OK 按钮。将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程.。 2) 建立源文件: 点击菜单项File →New,如图三,系统弹出一个新的文本编辑窗,输入源文件代码。编辑完后,保存文件“沈.s”后缀,如图四。

3) 添加源文件: 选择菜单项Project → Add To Project → Files ,在工程目录下选择刚才建立的源文件.s后缀文件,如图五,图六。 4) 基本配置: 选择菜单项Project → Settings,弹出工程设置对话框。在工程设置对话框中。 ①选择Processor 设置对话框,按照图七所示,进行配置: 图七 ②选择Remote设置对话框,按照下图八所示,进行配置: 图八 ③选择最右边一个进行编译,显示如图九,则编译成功。 图九

arm嵌入式课程开发试验设计报告-南京邮电大学钱晨

通信与信息工程学院2015/2016 学年第一学期课程设计实验报告 模专块名称 业 ARM 嵌入式开发 电子信息工程 学生班级学生学号学生姓名

指导教师余雪勇

实验内容 一、基本要求 在基本要求中,需要从11 个测试程序中选做8 个,以下是对8 个程序的实验过程的叙述,包括实验前的硬件连接准备、软件环境配置(串口工具、dnw、ADS、交叉编译环境等)、每个实验的关键代码以及简单分析。 1、硬件连接 用USB 线、串口线把开发板连到电脑相应的端口,再将电源线插好。 2、软件环境配置 设置串口工具SecureCRT 解压在“windows 平台开发工具包\”目录下的“SecureCRT.rar”后,即可使用SeureCRT,双击图标,打开SecureCRT,如下图所示: 点击图中红色方框图标,出现下图的设置窗口:

在 Ptotocol 里面选择 Serial,出现如下图所示的对话框,详细设置 参考下图,超级终端设置部分,不再重复。 注意:Port 选项部分根据您实际使用的端口进行配置,其他选项请一 定配置如下图所示。 配置完毕后,点击上图的“Connect”选项即可连通串口。 DNW 设置 DNW 在这里是我们的.bin 文件下载软件,可实现我们向 flash 或者内存当中烧写程序的功能。 直接双击“Windows 平台工具\DNW”目录下的DNW 软件,出现下图: (1)点击“Configuration”菜单的“Options”,出现“UART\USB

Options”配置 (2)配置如下图: 3、实验前准备 串口工具和开发板连接成功后,将选择开关打到norflash,并按一下重启键,开发板则自动按照选择从norflash 启动。此时,如果 SecureCRT 界面显示如下,则表示串口工具已经工作正常: 一般出厂光盘里面已经有许多bin 文件了,其中包括我们此处所说的 TQ2440_Test 的bin 文件。我们也可以参考以下步骤,使用ADS1.2 生成自己的“*.bin”文件。 (1)、安装ADS1.2(ARM Developer Suite v1.2,一款针对ARM 的开发套件),并使用ADS打开天嵌科技的出厂自带的测试程序。 (2)、点击compile 键进行编译,点击make 键生成我们此处所需要的“*.bin”文件生成自己的 bin 文件之后,就可以使用SecureCRT 配合dnw 来实现对bin 文件的下载了:操作步骤其实和上面烧写出厂程序一样,在此再详细叙述一下:

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_TOP MOV R0, #X /*X的值放入R0*/ STR R0, [SP] /*R0的值保存到堆栈*/ MOV R0, #Y /*Y的值放入R0*/ LDR R1, [SP] /*取堆栈中的数到R1*/

ADD R0, R0, R1 STR R0, [SP] STOP: B STOP /*程序结束,进入死循环*/ .END 2.使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。具体实验程序如下:/* armasm1b.s */ .EQU X, 45 /*定义变量X,并赋值为45*/ .EQU Y, 64 /*定义变量Y,并赋值为64*/ .EQU Z, 87 /*定义变量Z,并赋值为87*/ .EQU STACK_TOP, 0X1000 /*定义栈顶0X1000*/ .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*/

ARM嵌入式期末考试试题

一、选择题(共5) 1、下面哪个不是嵌入式操作系统的特点。( C ) A.内核精简 B.专用性强 C.功能强大 D.高实时性 2、ARM指令集合Thumb指令集分别是(D )位的。 A.8,16 B.16,32 C.16,16 D.32,16 3、FIQ中断的入口地址是( A ) A.0x0000001C B.0x00000008 C.0x00000018 D.0x00000014 4、ADD R0,R1,#6,执行该指令时属于( A)寻址方式。 A.立即寻址 B.多寄存器寻址 C.寄存器直接寻址 D.相对寻址 5、寄存器R13除了可以用作通用寄存器之外,还可以作为( B ) A.程序计数器 B.堆栈指针寄存器 C.链寄存器 D.基址寄存器 6、是(B) A.78 56 34 12 B.12 34 56 78 C.87 65 43 21 D.21 43 65 87 二、填空题(共5个) 1、嵌入式系统体系结构一般具有冯.诺依曼和哈佛两种基本形式,且ARM7采用冯.诺依曼体系结构。 2、从编程角度看,ARM微处理器一般有ARM和Thumb两种工作状态。 3、ARM9处理器使用了程序存储器和数据存储器分开独立编址的哈佛结构,并采用5级指令流水线,5级流水线操作分别是取指、译码、执指、缓冲和写回。 4、ARM微处理器支持字节、半字、字三种数据类型,数据的位数分别为8位、16位、32位,其中字必须以4字节为边界对齐,半字必须以2字节为边界对齐。 5、复位异常的优先级最高,因此在任何情况下,只要进入该状态系统无条件地将PC指向0x00000000处,以执行系统第一条指令。 三、判断题(共5个) 1、ARM7采用3级指令流水线,即取指令、译码和执行指令。(√) 2、Boot Loader 是在操作系统内核运行之前运行的一段小程序。(√) 3、嵌入式系统开发环境只需要宿主机和目标机就可以。(×)

ARM嵌入式实验报告完整篇(修改)解析

《ARM嵌入式系统》 实验报告 学生姓名刘宝雨 班级测控1002班学号10401600244 电气与信息工程学院 2013年4 月20 日

目录 目录 (1) 实验一 ARM汇编指令实验1 (2) 一、实验目的 (2) 二.实验设备 (2) 三.实验内容 (2) 四.实验原理 (2) 五.实验操作步骤 (2) 六.实验报告 (10) 实验二ARM汇编指令实验2 (10) 一、实验目的 (10) 二.实验设备 (10) 三.实验内容 (10) 四.实验原理 (10) 五.实验操作步骤 (11) 六.实验报告 (18) 实验三会编与C语言的相互调用实验 (18) 一、实验目的.......................................................................................,.. (18) 二.实验设备....................................................................................,,,,,,. (18) 三.实验内容....................................................................................,,,,,,, (18) 四.实验原理.......................................................................................,,, (19) 五.实验操作步骤.................................................................................,,,,,,. (20) 六.实验报告.................................................................................,,,,,,. (22)

ARM实验报告

南京邮电大学通达学院 嵌入式系统B 实验报告 班级100023 专业通信工程(嵌入式系统开发) 学号10002304 姓名陆海霞 实验项目: 1、ADS下简单ARM汇编程序 2、熟悉LINUX开发环境 3、多线程应用程序设计 指导教师范山岗 实验一ADS下简单ARM汇编程序 实验目的: 1、熟悉ADS1.2下进行汇编语言程序设计的基本流程; 2、熟悉在ADS中创建工程及编写、编译和运行汇编语言程序的方法; 3、熟悉AXD中各种调试功能。 实验环境: 1、硬件:PC机。 2、软件ADS1.2。 实验内容: 1、在ADS中新建工程,并设置开发环境。 2、在Code Warrior 环境中编辑、编译和链接汇编语言程序,并生成可执行文件。 3、在AXD中调试汇编程序;

4、使用命令行界面编辑、编译和链接汇编程序。 实验步骤: 本实验要求在ADS环境下,编写一个汇编程序,计算S=1+2+3……+n的累加值。 把累加结果S存入到存储器的指定位置;在AXD中调试该程序,使用ARMulator模拟目标机。 1、新建工程。 打开Code Warrior,选择File->New(project)选项,使用ARM Executable Image模版新建一个工程。 2、设置编译和链接选项。 由于我们使用的是模拟机,设置汇编语言编译器的模拟处理器架构为Xscale;在ARM Linker中,选择output选项卡并选择Linktype为Simple类型,确认RO Base为0x8000,修改RW Base为0x9000, 3、为当前工程添加源程序文件。 ARM汇编程序源文件后缀名为S大小写均可。 确保添加入当前工程复选框选上。 4、编辑源程序代码。 参考程序add.s : ;armadd源程序 N EQU 7 ;累加次数 ;定义名为Adding的代码段 AREA Adding,CODE,READONLY ENTRY MOV R0,#0 MOV R1,#1 REPEAT ADD R0,R0,R1 ADD R1,R1,#1 CMP R1,#N BLE REPEAT LDR R2,=RESULT STR R0,[R2] HERE B HERE 定义名为Dataspace的数据段 AREA Dataspace,DATA,READWRITE RESULT DCD 0 END 实验中程序编写如下图所示: 5、编译汇编源代码文件。 右击add.S文件,选择Compile,如果没有成功会弹出错误和警告窗口。 生成.O目标代码文件。 实验中生成的WMM.O文件如下图所示: 6、编译整个工程。 选择Project?Make进行整个工程的编译。可以在目录空间查看是否生成了映像文件add.axf。 7、确认调试目标设置。 设置目标处理器型号。 8、运行映像文件。 9、调试准备 在AXD中,打开各个观察窗口,做调试准备。选择Processor Views?Registers选项,打开ARM寄存器显

中北大学嵌入式系统实验报告

中北大学计算机与控制工程学院实验报告《嵌入式系统实验报告》 专业电气工程与智能控制 班级 学号03 姓名贾晨凌

实验一ARM 处理器指令系统实验 一、实验目的 熟悉ARM指令系统,熟悉ARM SDT编辑编译连接,ARM Project Manager和ARM Debugger的设置和使用 二、实验条件 Windows平台的ARM SDT 软件:ARM Project Manager和ARM Debugger。 三、实验内容 学习使用ARM Project Manager建立项目文件,编辑汇编文件,并加入项目。学习ARM 编译器和汇编器的设置。通过编程熟悉ARM指令,包括跳转指令,数据处理指令,状态寄存器传送指令,load/store指令,中断异常产生指令。学习ARM调试起的使用方法,包括程序的导入,单步执行,断点设置等。 四、实验要点 工程文件的建立,在ARM Project Manager中点击File->New,选择Project,点击确定。 链接器的设定,需要设置代码和数据段的起始地址。 点击图标,选择不进行远程调试,即可打开调试器。 五、实验结果 熟悉ARM指令系统 实验二p1口实验 一、实验目的 熟悉ARM SDT 软件开发方法和技能; 学习和巩固ARM 指令集;

学习和巩固汇编语言程序设计 二、实验条件 Windows 平台的ARM SDT 软件:ARM Project Manager 和ARM Debugger;; EFLAG-ARM-S3C44B0 实验箱 三、实验内容 目录ARM251\EXAMPLES\ASM 下的汇编程序, 学习和调试代码,分析所得结果。 在调试器上仿真软件的执行。 在实验箱上,调试软件,并观察软件的执行结果 四、实验要点 在调试软件目录中启动调试器服务程序。 启动SDT 调试软件ARM Debugger。 五、实验结果

ARM嵌入式原理和开发实验报告

. 南京邮电大学海外学院 实验报告 实验名称: 实验一基于ADS开发环境的程序设计 实验二嵌入式Linux交叉开发环境的建立实验三嵌入式Linux环境下的程序设计 课程名称嵌入式系统与开发 班级学号 姓名 开课时间 2014/2015学年第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 作为该段的结束,段名必须唯一。程序的开始和结束需以ENTRY和END来标识。 嵌入式C语言设计是利用基本的C语言知识,面向嵌入式工程实际应用进行程序设计。为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序调用的基本规则。

《ARM嵌入式系统基础》实验指导书.

ARM嵌入式系统基础 1 实验指导书原大明 2013.9 实验一 ADS 开发环境实验 一、实验目的 1、掌握 ADS 开发环境的使用; 2、了解 ADSModule 工程基本结构和内容; 3、掌握在 ADS 下建立工程进行开发的基本技巧。 二、实验内容 1、熟悉 ADS 开发环境中的各个组件; 2、建立并编译一个工程; 3、使用AXD调试仿真。 三、实验设备 1、硬件: PC 机 2、软件: PC 机操作系统(WINDOWS XP); ARM Developer Suite v1.2。 四、预备知识 1、了解 ARM 和 S3C2410 体系结构; 2、了解 ARM 和 S3C2410 汇编语言。 五、实验内容 1、实验程序 AREA EXAMPLE3,CODE,READONLY ;/*声明一段名为EXAMPLE3的CODE*/ ENTRY ;/*指定函数的入口*/ START MOV R0,#0xFF ;/*把#0xFF传送到R0*/ MOV R1,#0xEF000000 ;/*把#0XEF000000传送到R1*/ MOV R2,#0x2F000000 ;/*把#0x2F000000传送到R2*/ MVN R3,#0Xff ;/*把#0xFF取反后传送到R3*/ ADD R4,R2,R1 ;/*把R2加R1的值传送到R4*/ ADDS R5,R2,R1 ;/*把R2加R1的值传送R5,s表示会影响cpsr*/ ADCS R6,R2,R1 ;/*把R2加R1的值,再加上carry的值后传送到R6. ;s表示值会影响cpsr*/ SUB R4,R2,R1 ;/R2减R1的值传送到R4*/ SUBS R4,R2,R1 ;/*R2减R1的值传送到R4, s表示影响cpsr*/ RSB R5,R2,R1 ;/*R1减R2的值传送到R5*/

嵌入式ARM数据加载与存取指令实验

实验三ARM数据加载与存取指令实验 实验目的: 1、掌握基本的单寄存器传送指令和多寄存器传送指令的使用方法; 2、巩固和提高在ADS中创建工程及编写、编译和运行汇编语言程序的方法; 3、巩固和提高AXD中各种调试功能。 实验环境: 1、硬件:PC机。 2、软件ADS1.2。 实验内容: 1、单寄存器数据传送指令的运用和各种变址寻址模式的掌握; 2、多寄存器数据传送指令的运用和各种变址寻址模式的掌握; 3、单个数据复制和数据块复制的方法; 4、简单方程运算的汇编程序实现; 5、利用调试器中各种窗口观察完成各指令操作后寄存器、存储器、标签地址、机器指令等 的变化情况。 实验过程: 采用单寄存器传送指令完成数据的存储和加载操作;在AXD中调试该程序,使用ARMulator 模拟目标机。 注意:本实验中所涉及的2个源代码只能分别在各自工程中调试使用,不可将两个源代码加入同一个工程中。 1、新建工程。 打开Code Warrior,选择File->New(project)选项,使用ARM Executable Image模版新建一个工程。

2、设置编译和链接选项。 由于我们使用的是模拟机,设置汇编语言编译器的模拟处理器架构为Xscale ;在ARM Linker 中,选择output 选项卡并选择Linktype 为Simple 类型,确认RO Base 为0x8000如下图所示。

3、 为当前工程添加源程序文件。 ARM 汇编程序源文件后缀名为S 大小写均可。

确保添加入当前工程复选框选上。注意:红色部分。 4、编辑源程序代码。 单寄存器和多寄存器数据传送源程序: 参考程序LAB1: AREA LAB1,CODE ENTRY START LDR SP,=NUM LDR R0,[SP] LDR R1,[SP,#4] LDR R3,[SP,#4] LDR R3,[SP,#4] ADD R4,R0,R1 ;计算4个数据的累加值 ADD R4,R4,R2 ADD R4,R4,R3 MOV R4,R4,LSR #2 ;求累加后的平均值 STR R4,[SP,#4] ;保存结果 STOP B STOP AREA DBLOCK,DA TA NUM DCD 0x12,0x34,0x56,0x78 ;分配一组字内存并赋初值END

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_TOP MOV R0, #X/*X 的值放入R0*/ STR R0, [SP]/*R0 的值保存到堆栈*/ MOV R0, #Y/*Y 的值放入R0*/ LDR R1, [SP]/* 取堆栈中的数到R1*/

STR R0, [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*/ ADD R0, R0, R1 2.使用 ADD/SUB/LSL/LSR/AND/ORR .EQU STACK_TOP, 0X1000 /* 定义栈顶 0X1000*/

相关文档
相关文档 最新文档