嵌入实验报告
嵌入式实训报告报告

一、实训背景随着科技的飞速发展,嵌入式系统在各个领域得到了广泛应用。
为了提高自己的实践能力和综合素质,我参加了本次嵌入式实训。
通过实训,我对嵌入式系统有了更深入的了解,并掌握了嵌入式系统的开发流程和相关技术。
二、实训目的1. 掌握嵌入式系统的基本原理和开发流程;2. 熟悉嵌入式开发工具和环境;3. 提高动手实践能力,培养团队协作精神;4. 为以后从事嵌入式系统相关工作打下基础。
三、实训内容1. 嵌入式系统概述嵌入式系统是一种将计算机硬件和软件集成在一起的专用系统,具有实时性、高可靠性、低功耗等特点。
本次实训主要针对ARM架构的嵌入式系统进行学习。
2. 嵌入式开发环境搭建(1)硬件环境:选用STM32F103系列单片机作为开发平台。
(2)软件环境:使用Keil MDK作为集成开发环境(IDE),并安装必要的驱动程序。
3. 嵌入式系统编程(1)C语言编程:学习C语言的基本语法、数据类型、控制结构、函数等,掌握嵌入式系统编程基础。
(2)裸机编程:编写简单的裸机程序,实现单片机的GPIO、定时器、中断等功能。
(3)嵌入式操作系统:学习FreeRTOS操作系统,掌握任务创建、调度、同步等基本功能。
4. 嵌入式系统项目实践(1)设计一个基于STM32F103的单片机温度控制系统,实现温度的实时监测和控制。
(2)设计一个基于ARM Cortex-M4的智能家居系统,实现家电的远程控制和状态监测。
四、实训过程1. 理论学习:通过查阅资料、阅读教材,了解嵌入式系统的基本原理和开发流程。
2. 环境搭建:按照实训要求,配置开发环境,安装必要的驱动程序。
3. 编程实践:按照实训指导书,编写程序,实现单片机的各项功能。
4. 项目实践:根据项目要求,设计并实现嵌入式系统项目。
5. 总结与反思:对实训过程进行总结,分析自己在实训过程中遇到的问题及解决方法。
五、实训收获与体会1. 理论知识与实践相结合:通过本次实训,将所学的理论知识应用于实际项目中,提高了自己的动手实践能力。
嵌入式项目基础实训报告

一、引言嵌入式系统是一种应用于特定领域,具有特定功能的计算机系统。
随着科技的不断发展,嵌入式系统在各个领域的应用越来越广泛,如智能家居、智能交通、智能医疗等。
为了提高嵌入式系统的开发能力,本报告针对嵌入式项目基础实训进行了详细阐述。
二、实训背景及目的随着物联网、人工智能等技术的飞速发展,嵌入式系统在各个领域的应用日益广泛。
为了让学生更好地掌握嵌入式系统的开发技术,提高学生的实践能力,本次实训旨在通过实际项目开发,使学生熟悉嵌入式系统开发的基本流程,掌握嵌入式系统的设计、开发、调试等技能。
三、实训内容1. 实训项目简介本次实训项目为智能家居系统,主要包括以下几个功能模块:(1)环境监测模块:实时监测室内温度、湿度、光照等环境参数。
(2)设备控制模块:实现对空调、电视、灯光等家电设备的远程控制。
(3)报警模块:当环境参数超出预设范围时,系统自动发出报警。
(4)手机APP控制模块:用户通过手机APP实现对智能家居系统的远程控制。
2. 实训步骤(1)需求分析首先,根据项目需求,明确智能家居系统的功能模块、性能指标和硬件平台等。
(2)系统设计根据需求分析,设计智能家居系统的架构,包括硬件平台选择、软件架构设计等。
(3)硬件选型与搭建根据系统设计,选择合适的硬件平台,如单片机、传感器、通信模块等,并进行搭建。
(4)软件开发编写嵌入式程序,实现智能家居系统的各个功能模块。
(5)系统调试与优化对系统进行调试,确保系统稳定运行,并对系统进行优化,提高系统性能。
(6)项目总结与报告撰写对实训项目进行总结,撰写实训报告。
3. 实训技术要点(1)C语言编程:嵌入式系统开发主要使用C语言进行编程,要求学生熟练掌握C 语言的基本语法、数据结构、函数调用等。
(2)Linux操作系统:嵌入式系统开发常使用Linux操作系统,要求学生熟悉Linux操作系统的基本命令、文件系统、网络编程等。
(3)硬件电路设计:要求学生掌握嵌入式系统硬件电路设计的基本原理,包括电路原理图绘制、PCB布线等。
嵌入式实验四实验报告

嵌入式实验四实验报告实验四:嵌入式编程设计
实验设计目的:
1. 学习使用嵌入式开发工具进行编程设计;
2. 学习使用C语言编写嵌入式程序;
3. 学习使用GPIO模块进行输入输出;
4. 学习使用中断处理函数。
实验器材:
1. 嵌入式开发板;
2. USB数据线;
3. 电脑;
4. LED灯;
5. 电阻;
6. 蜂鸣器;
7. 其他必要的电路元件。
实验步骤:
1. 连接开发板和计算机,安装开发板驱动程序;
2. 打开嵌入式开发工具,创建一个新的工程;
3. 在工程中添加一个C文件,编写程序;
4. 编写程序实现以下功能:
- 使用GPIO模块控制LED灯的亮、灭;
- 使用GPIO模块读取按键状态;
- 使用GPIO模块控制蜂鸣器的开、关;
- 使用Timer模块计时;
- 使用中断处理函数处理外部中断;
- 其他必要的功能;
5. 编译程序,下载到开发板;
6. 运行程序,测试功能是否正常。
实验结果与分析:
实验结果应当是LED灯、蜂鸣器、按键正常工作,可以通过按键控制LED灯的亮、灭、蜂鸣器的开、关。
实验总结:
通过本次实验,我学会了使用嵌入式开发工具进行编程设计,掌握了使用C语言编写
嵌入式程序的方法。
通过实验,我深入理解了嵌入式系统的原理和实现方法,对嵌入
式系统的应用有了更加深入的了解。
在今后的学习和工作中,我将能够更好地运用嵌
入式技术解决实际问题。
嵌入式实训报告2篇

嵌入式实训报告嵌入式实训报告精选2篇(一)嵌入式实训报告一、实训目的和背景嵌入式系统在现代社会中应用广泛,具有重要的实际意义。
为了进步学生的实际应用才能,我们组织了一次嵌入式实训。
通过实际操作与理论,培养学生的嵌入式系统开发才能和解决实际问题的才能。
二、实训内容1. 嵌入式系统开发环境的搭建:学生首先学习如何搭建嵌入式系统的开发环境,包括安装集成开发环境、配置编译工具链等。
2. 嵌入式系统根底知识的学习:学生学习嵌入式系统的根本概念、原理和架构,理解嵌入式系统的工作原理和开发流程。
3. 嵌入式系统软件开发:学生通过实际编程理论,掌握嵌入式系统的软件开发技术,包括编写驱动程序、应用程序等。
4. 嵌入式系统硬件开发:学生通过实际操作,学习嵌入式系统的硬件开发技术,包括电路设计、硬件接口设计等。
5. 嵌入式系统应用理论:学生完成一个实际工程,将所学的嵌入式系统开发技术应用到实际问题的解决中,加深对嵌入式系统的理解和应用才能。
三、实训过程1. 搭建嵌入式系统开发环境:学生按照实训指导书的要求,完成嵌入式系统开发环境的搭建。
2. 学习嵌入式系统根底知识:学生通过听课和自学,理解嵌入式系统的根本原理和架构。
3. 软件开发理论:学生根据实训指导书中的实例,编写嵌入式系统的软件程序。
4. 硬件开发理论:学生根据实训指导书中的实例,完成嵌入式系统的硬件设计和接口设计。
5. 应用理论:学生根据自己的兴趣和实际需求,选择一个实际工程,并使用嵌入式系统开发技术,完成工程的开发和施行。
四、实训效果通过嵌入式实训,学生深化学习了嵌入式系统的开发技术和实际应用,掌握了嵌入式系统的开发流程和方法。
同时,学生通过理论操作,进步了自己的动手才能和解决问题的才能。
实训过程中,学生不断考虑和探究,解决了许多实际问题,获得了良好的效果。
五、总结与展望嵌入式实训是一次富有意义的理论活动,通过实际操作与理论,加深了学生对嵌入式系统的理解和应用才能。
嵌入式实训课实验报告

一、实验背景嵌入式系统在现代工业、消费电子、智能家居等领域扮演着越来越重要的角色。
为了让学生深入了解嵌入式系统的设计原理和开发过程,提高学生的实践能力和创新精神,我们开设了嵌入式实训课程。
本次实验报告将针对实训课程中的部分实验进行总结和分析。
二、实验目的1. 掌握嵌入式系统的基本原理和开发流程。
2. 熟悉嵌入式开发工具和环境。
3. 熟练使用C语言进行嵌入式编程。
4. 学会调试和优化嵌入式程序。
三、实验内容本次实训课程共安排了五个实验,以下是每个实验的具体内容和实验步骤:实验一:使用NeoPixel库控制RGB LED灯带1. 实验目的:学习使用NeoPixel库控制RGB LED灯带,实现循环显示不同颜色。
2. 实验步骤:(1)搭建实验平台,连接NeoPixel LED灯带。
(2)编写程序,初始化NeoPixel库,设置LED灯带模式。
(3)通过循环,控制LED灯带显示不同的颜色。
实验二:使用tm1637库控制数码管显示器1. 实验目的:学习使用tm1637库控制数码管显示器,显示数字、十六进制数、温度值以及字符串,并实现字符串滚动显示和倒计时功能。
2. 实验步骤:(1)搭建实验平台,连接tm1637数码管显示器。
(2)编写程序,初始化tm1637库,设置显示模式。
(3)编写函数,实现数字、十六进制数、温度值的显示。
(4)编写函数,实现字符串滚动显示和倒计时功能。
实验三:使用ds18x20库和onewire库读取DS18B20温度传感器的数据1. 实验目的:学习使用ds18x20库和onewire库读取DS18B20温度传感器的数据,并输出温度值。
2. 实验步骤:(1)搭建实验平台,连接DS18B20温度传感器。
(2)编写程序,初始化ds18x20库和onewire库。
(3)编写函数,读取温度传感器的数据,并输出温度值。
实验四:使用ESP32开发板连接手机热点,并实现LED1作为连接指示灯1. 实验目的:学习使用ESP32开发板连接手机热点,并通过LED1指示灯显示连接状态。
中山学院嵌入式实验报告(一)参考模板

电子科技大学中山学院电子信息学院学生实验报告课程名称嵌入式系统设计实验名称嵌入式开发平台和软件班级12信息工程实验时间2015年 4月1日姓名,学号指导教师顾菘报告内容一、实验目的和任务1.了解和熟悉嵌入式开发平台2.熟悉嵌入式开发平台的原理3..熟练掌握嵌入式开发平台的使用4.熟练掌握IAR Embedded Workbench应用程序的使用二、实验原理简介UP-TECH S2410 DVP开发板外观三、实验内容和数据记录①运行IAR Embedded Workbench应用程序②点击Open exiting workspace后找到相应实验所在的文件夹,如果看不到工程文件,请在文件类型中选择Workspace File(*。
Eww)③点击后打开相应的工程,如下图④选择工程文件后点击右键出现Rebuild All选项,点击后开始重新编译。
⑤重新编译完成后会有如下提示,没有警告和错误。
⑥在这之后就要开始相应的调试工作,就要进行H-Jtag的设置。
双击运行H-JTAG⑦选择菜单项Settings>Jtag Settings 修改选项配置如下图:⑧选择菜单项Settings>Port Settings选择ARM-JTAG仿真器所用的并口号,点击Port Testing按钮,已确认该并口是否可用,否则请检查BIOS设置。
⑨确定正常后,点击Options 菜单,检查Disable Semihosting和Disable Vector Catch是否为选中状态,若没有选中应将其勾选。
⑩使用UP-LINK接通开发板和主机,开启电源。
⑪在H-JTAG Server窗口中选择Operations> Detect Target 应该能够侦测目标板上的ARM 7~10内核如下图,如侦测不到请检测上述步骤。
⑫在H-JTAG检测到硬件后可以开始调试了,这时在EWARM下点击Download and Debug⑬点击之后出现调试界面,并且已经有运行到了main函数所在的位置。
嵌入式测试实习报告

嵌入式测试实习报告一、实习目的与意义随着科技的不断发展,嵌入式系统已经广泛应用于各个领域,如家电、工业控制、医疗设备等。
嵌入式系统的高效、稳定运行离不开严格的测试。
本次实习旨在通过实际操作,了解嵌入式测试的基本流程和方法,掌握嵌入式测试工具的使用,提高嵌入式系统的可靠性和稳定性。
二、实习内容与过程1. 实习前的准备在实习开始前,我首先了解了嵌入式系统的基本概念、架构和常见硬件平台。
同时,学习了嵌入式软件的编译、调试等相关知识,为后续的实习打下基础。
2. 实习内容(1)测试环境搭建为了进行嵌入式测试,首先需要搭建测试环境。
本次实习使用的是基于ARM架构的嵌入式开发板,配备了相应的开发工具,如编译器、调试器等。
(2)测试用例设计测试用例是进行嵌入式测试的基础。
在设计测试用例时,需要充分考虑测试的目的、测试内容、测试输入和预期输出等因素。
本次实习设计了多个测试用例,涵盖了基本功能测试、边界条件测试、异常情况测试等。
(3)测试执行与调试使用嵌入式调试工具,如JTAG、串口调试器等,对开发板上的硬件和软件进行调试。
在测试过程中,发现了一些问题,如内存泄漏、运行速度慢等,通过调试找到了原因,并进行了相应的优化。
(4)测试报告撰写测试完成后,需要对测试结果进行总结和分析,形成测试报告。
测试报告应包括测试目的、测试环境、测试用例、测试结果、问题分析及解决方案等内容。
三、实习收获与反思通过本次实习,我对嵌入式测试有了更深入的了解,掌握了嵌入式测试的基本流程和方法,学会了使用嵌入式调试工具。
同时,我也认识到嵌入式测试的重要性,它对提高嵌入式系统的可靠性和稳定性具有重要意义。
在实习过程中,我也发现了自己的不足之处,如测试用例设计不够完善,调试能力有待提高。
在今后的工作中,我将不断学习,努力提高自己的嵌入式测试能力,为嵌入式系统的发展做出贡献。
四、总结本次嵌入式测试实习让我受益匪浅,不仅提高了我的嵌入式技术水平,也让我对嵌入式测试有了更深刻的认识。
嵌入式实训报告范文2篇2

嵌入式实训报告范文 (2)嵌入式实训报告范文 (2)精选2篇(一)嵌入式实训报告一、实训背景嵌入式系统是一种以具体任务为中心,集成了硬件与软件的计算机系统。
由于其体积小、功耗低、功能强大等特点,嵌入式系统被广泛应用于各个领域,如家电、汽车、医疗等。
通过参与嵌入式实训,我希望能够掌握嵌入式开发的基本原理和方法,提高自己的实践能力。
二、实训目标1.掌握嵌入式系统的基本知识和开发工具的使用;2.了解嵌入式系统的硬件架构和软件设计流程;3.能够根据需求设计并实现简单的嵌入式系统。
三、实训内容1.学习嵌入式系统基础知识:通过课堂教学和自主学习,了解了嵌入式系统的概念、特点及应用领域。
深入学习了ARM架构和C语言的基本知识,并进行了相应的实践操作。
2.学习嵌入式开发工具的使用:学习了Keil MDK和IAR Embedded Workbench等常用的嵌入式开发工具的安装和配置方法。
通过实操操作,掌握了调试、编译、下载等基本功能的使用。
3.学习嵌入式系统设计流程:了解了嵌入式软件开发的常用流程,包括需求分析、系统设计、编码实现、调试测试、系统验证等。
通过案例分析和实践操作,对嵌入式系统设计流程有了更深入的了解。
4.设计并实现简单的嵌入式系统:根据实训要求,我选择了一个简单的嵌入式系统项目,通过分析需求、设计系统架构、编写软件代码、调试测试等环节,最终成功完成了项目。
四、实训总结及收获通过参与嵌入式实训,我不仅掌握了嵌入式系统的基本知识和开发工具的使用,还锻炼了自己的实践能力。
我深刻认识到嵌入式系统开发需要全面的知识储备和较高的技术水平,同时也需要良好的分析、设计和沟通能力。
通过实训,我对嵌入式系统开发流程有了更深入的理解,对嵌入式系统的设计和开发也有了更高的认识和要求。
在未来的学习和工作中,我会继续深入学习嵌入式系统开发相关知识,并不断提高自己的实践能力。
嵌入式系统是未来的发展方向,通过不断探索和实践,我相信我能够在这个领域取得更好的成果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《嵌入式系统》实验报告姓名:苏美龙学号: 10401700403 班级:电气工程1002班湖南工业大学电气与信息工程学院2013年4月实验一 ARM汇编指令实验1一、实验目的1.初步学会使用Embest IDE for ARM 开发环境及ARM软件模拟器;2.通过实验掌握简单ARM汇编指令的使用方法。
二.实验设备1.硬件:PC机;2.软件:Embest IDE 2004集成开发环境。
Windows98/2000/NT/XP。
三.实验内容1.熟悉开发环境的使用,并使用LDR/STR和MOV等指令访问寄存器或存储单元。
2.使用ADD/SUB/LSL/LSR/AND/ORR等指令,完成基本数学/逻辑运算。
四.实验原理ARM处理器共有37个寄存器:31个通用寄存器,包括程序计数器(PC),这些寄存器都是32位;6个状态寄存器,这些寄存器也是32位,但只使用了其中的12位。
1.ARM通用寄存器通用寄存器(R0~R15)可分为3类,即不分组寄存器R0~R7.分组寄存器R8~R14.程序计数器R15。
2.存储器格式ARM体系结构将存储器看作是从零地址开始的字节的线性组合。
字节0~3存放第一个字,字节4~7存放第2个字,以此类推。
ARM体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。
3.GNU基础知识Embest IDE集成了GNU汇编器as、编译器gcc和链接器ld。
因此,编写程序要符合CNU的语法和规则。
关于as.gcc和ld的具体使用,请参照Embest IDE所带的电子文档ProgRef.chm。
五实验程序1. 实验A参考程序.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 */ADD r0, r0, r1STR r0, [sp]stop: B stop /*程序结束,进入死循环*/.end2. 实验B参考程序.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, #0x1000STR 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 */LDR r0, [sp] /* y的值放入R1 */MOV r1, #0x01ORR r0, r0, r1MOV r1, R2 /* y的值放入R1 */ADD r2, r0, r1, lsr #1 /* R1的值除以2加上r0的值放入R2 */stop:B stop /*程序结束,进入死循环*/.end六.实验结果及分析答:实验A实现了两个数据的加法运算功能;实验B实现了基本数学运算及逻辑运算功能,详细分析如下所示:实验A流程框图:实验A运行结果:实验A调试结果:实验A存储器分析结果:实验B运行结果:实验B调试结果:实验B存储器分析结果:实验二 ARM汇编指令实验2一、实验目的通过实验掌握使用LDM/STM、B和BL等指令完成较为复杂的存储区访问和程序分支,学习使用条件码,加强对CPSR的认识。
二、实验设备1.硬件:PC机;2.软件:Embest IDE 2004集成开发环境。
Windows98/2000/NT/XP。
三、实验内容1.熟悉开发环境的使用并完成一块存储区的拷贝;2.完成分支程序设计,要求判断参数,根据不同参数,调用不同的子程序。
四、实验原理1.ARM程序状态存储器在所有处理器模式下,都可以访问当前程序状态寄存器CPSR。
CPSR包含条件码标志、中断禁止位、当前处理器模式以及其他状态和控制信息。
每种异常模式都有一个程序状态保存寄存器SPSR。
当异常出现时,SPSR用于保存CPSR的状态。
CPSR和SPSR的格式如下:21)标号的使用标号由一个符号后跟一个冒号组成,它表示程序中当前的指令或者数据地址。
如果在程序中出现两个相同的标号,汇编器会产生一个警告,同时,只有第一个标号有效。
2)几个伪指令(1)LDRLDR伪指令讲一个32位常数或者一个地址值读取到寄存器中。
当需要读取到寄存器中的数据超过了MOV或者MNV指令可以操作的范围时,可以使用LDR伪指令将该数据读取到寄存器中。
在汇编编译器处理源程序时,如果该常数没有超过MOV或者MNV可以操作的范围,则LDR指令被这两条指令中的一条所替代;否则,该常数将被放在最近的一个文字池(Literal Pool)内,同时,本指令被一条基于PC的LDR指令代替。
语法格式LDR<register>, = <expression>其中,expression 为需要读取的32位常数。
Register 为目标寄存器。
示例LDR r1,=0xffLDR r0,=0xfff0000(2) ADRADR指令将基于PC的地址值或者给予寄存器的地址值读取到寄存器中。
在汇编编译器处理源程序时,ADR伪指令被编译器替换成一条合适的指令。
通常,编译器用一条ADD指令或者SUB指令来实现该伪指令的功能。
如果标号超出范围或者标号在他那个一文件(和同一段)内没有定义,则会产生一个错误,该指令不使用文字池。
语法格式ADR <register> <label>其中,register 为目标寄存器。
Label为基于PC或者寄存器的地址表达式。
示例Label1:MOV r0,#25ADR r2,label1(3).ltorg.ltorg 伪操作用于在当前段(一般是. Text段)的当前地址(字对准地址)产生一个文字池。
语法格式. ltorg五、实验参考程序1实验A参考程序.global _start.text.equ num, 20 /* Set number of words to be copied */_start:LDR r0, =src /* r0 = pointer to source block */LDR r1, =dst /* r1 = pointer to destination block */MOV r2, #num /* r2 = number of words to copy */MOV sp, #0x400 /* set up stack pointer (r13) */blockcopy:MOVS r3,r2, LSR #3 /* number of eight word multiples */BEQ copywords /* less than eight words to move ? */STMFD sp!, {r4-r11} /* save some working registers */octcopy:LDMIA r0!, {r4-r11} /* load 8 words from the source */STMIA r1!, {r4-r11} /* and put them at the destination */SUBS r3, r3, #1 /* decrement the counter */BNE octcopy /* ... copy more */LDMFD sp!, {r4-r11} /* don't need these now - restore originals */ copywords:ANDS r2, r2, #7 /* number of odd words to copy */BEQ stop /* No words left to copy ? */wordcopy:LDR r3, [r0], #4 /* a word from the source */STR r3, [r1], #4 /* store a word to the destination */SUBS r2, r2, #1 /* decrement the counter */BNE wordcopy /* ... copy more */stop: B stop.ltorgsrc:.long 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4dst:.long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.end2.实验B参考程序.global _start.text.equ num, 2 /* Number of entries in jump table */_start:MOV r0, #0 /* set up the three parameters */MOV r1, #3MOV r2, #2BL arithfunc /* call the function */stop:B stoparithfunc: /* label the function */CMP r0, #num /* Treat function code as unsigned integer */BHS DoAdd /* If code is >=2 then do operation 0. */ADR r3, JumpTable /* Load address of jump table */LDR pc, [r3,r0,LSL#2] /* Jump to the appropriate routine */ JumpTable:.long DoAdd.long DoSubDoAdd:ADD r0, r1, r2 /* Operation 0, >1 */MOV pc, lr /* Return */DoSub:SUB r0, r1, r2 /* Operation 1 */MOV pc,lr /* Return */.end /* mark the end of this file */六、实验结果及分析。