嵌入式复习思考题(1)答案
嵌入式习题答案(DOC)
6.用汇编语言编写程序,求1到50的累加和。
答:
1
32
R50x40003005
R00
R11
LOOP
BLOOP
R001
R111
R150
R0,[R5]
B.
7.请说明汇编语句R2,[R04]和R2,[R04]!的区别。
答:状态:处理器执行32位的字对齐的指令;状态:处理器执行16位的半字对齐的指令。
指令集和指令集均有切换处理器状态的指令。
从状态转换到状态:
R0, 1
R0
8.处理器有哪些工作模式?哪些是特权模式?哪些是异常模式?
答:体系结构支持7种工作模式(),分别为用户模式()、快中断模式()、中断模式()、管理模式()、数据访问终止模式()、系统模式()、及未定义指令中止模式()。除去用户模式外的其他6种处理器工作模式称为特权模式()。除去用户模式和系统模式以外的5种处理器工作模式称为异常模式()
答:第2个操作数的三种形式如下。立即数,例如:R00x0000F200;寄存器方式,例如:R1,R1,R2;寄存器移位方式,例如:R112 R3。
3.请分别写出调用子程序、子程序返回所使用的指令,并简述所用指令的工作过程。
答:用指令调用子程序。指令先将下一条指令的地址拷贝到R14(即)连接寄存器中,然后跳转到指定地址运行指令。子程序返回的指令是:,。
答:8[R0+4]2;R0不变
32[R0+4]=R2;R00+4
32[]表示存储器的存储单元中存放的32位字数据,16[]表示存储器的存储单元中存放的16位半字数据,8[]表示存储器的存储单元中存放的8位字节数据
嵌入式系统课后习题部分答案1
第一章1-1.简述嵌入式系统的定义。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
1-2.简述嵌入式系统的组成。
从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。
其中嵌入式处理器通常是单片机或微控制器,支撑硬件主要包括存储介质、通信部件和显示部件等,嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件及应用中间件等。
嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。
嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM 、PowerPC、Xscale、MIPS等);嵌入式操作系统是指在嵌入式Linux、uCLinux、WinCE等。
1-3.ARM7处理器使用的是(ARMv4)指令集。
ARM7内核采用冯·诺依曼体系结构,数据和指令使用同一条总线。
内核有一条3级流水线,执行ARMv4指令集。
1.4.Cortex-M3主要应用在哪些方向?主要用在平衡ARM的产品的性能和功耗,提高ARM的性能,降低其功耗1.5.简述StrongARM处理器和ARM处理器的关系StrongARM是第一个包含5级流水线的高性能ARM处理器,但它不支持Thumb指令集1-6.ARM9采用的是(5)级流水线设计。
存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分数据总线和指令总线。
1.7.简述ARM9和ARM9E的不同点硬件处理器不一样指令集不一样1.8.ARM11采用的是什么架构的指令ARMv6嵌入式操作系统的特点(1)体积小(2)实时性(3)特殊的开发调试环境SecureCore处理器系列的特点(1)支持ARM指令集和Thumb指令集,以提高代码密度和系统性能(2)采用软内核技术一提供最大限度的灵活性,可以防止外部对其进行扫描探测(3)提供了安全特性,可以抵制攻击(4)提供面向智能卡和低成本的存储保护单元MPU(5)可以集成用户自己的安全特性和其它的协处理器第二章2-1.简述ARM可以工作在几种模式。
嵌入式原理思考题及答案16页word
第1章复习要点1.1.1节嵌入式系统的概念1.1.3节嵌入式系统的特点1.3节嵌入式处理器1.4节嵌入式系统的组成第2章复习要点2.1节计算机体系结构分类2.3.1节 ARM和Thumb状态2.3.2节 RISC技术2.3.3节流水线技术2.4.3节 ARM存储系统第3章复习要点3.1节ARM编程模式3.2节ARM指令格式及其寻址方式3.3节ARM指令集(课上所讲的指令)第4章复习要点4.1节汇编语言源程序格式4.2节汇编语言的上机过程第5章复习要点5.1节键盘接口5.2节 LED显示器接口5.5.1节 UART异步串行接口作业题答案:1.什么是嵌入式系统?∙第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
∙第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2.与通用型计算机相比,嵌入式系统有哪些特点?⏹通常是面向特定应用的;⏹空间和各种资源相对不足,必须高效率地设计,量体裁衣、去除冗余;⏹产品升级换代和具体产品同步,具有较长的生命周期;⏹软件一般都固化在存储器芯片或单片机本身;⏹不具备自举开发能力,必须有一套开发工具和环境才能进行开发3.举例介绍嵌入式微处理器有哪几类?一、嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式处理器目前主要有Aml86/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。
二、嵌入式微控制器(Microcontroller Unit, MCU)嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。
嵌入式原理思考题及答案
第1章复习要点1.1.1节嵌入式系统的概念1.1.3节嵌入式系统的特点1.3节嵌入式处理器1.4节嵌入式系统的组成第2章复习要点2.1节计算机体系结构分类2.3.1节 ARM和Thumb状态2.3.2节 RISC技术2.3.3节流水线技术2.4.3节 ARM存储系统第3章复习要点3.1节ARM编程模式3.2节ARM指令格式及其寻址方式3.3节ARM指令集(课上所讲的指令)第4章复习要点4.1节汇编语言源程序格式4.2节汇编语言的上机过程第5章复习要点5.1节键盘接口5.2节 LED显示器接口5.5.1节 UART异步串行接口作业题答案:1.什么是嵌入式系统?∙第一种,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
∙第二种,嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2.与通用型计算机相比,嵌入式系统有哪些特点?⏹通常是面向特定应用的;⏹空间和各种资源相对不足,必须高效率地设计,量体裁衣、去除冗余;⏹产品升级换代和具体产品同步,具有较长的生命周期;⏹软件一般都固化在存储器芯片或单片机本身;⏹不具备自举开发能力,必须有一套开发工具和环境才能进行开发3.举例介绍嵌入式微处理器有哪几类?一、嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式处理器目前主要有Aml86/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。
二、嵌入式微控制器(Microcontroller Unit, MCU)嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。
《嵌入式系统》思考题答案(修改)
《嵌入式系统》思考题答案1.说明嵌入式系统、SOC、SOPC、CISC、RISC、IP核、流水线、RTOS、JTAG、ARM9TDMI、GUI、可剥夺型内核、交叉编译环境、冯·诺依曼结构、哈佛结构、进程、线程的含义和基本概念;嵌入式系统定义:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
SOC: SOC是指在单芯片上集成数字信号处理器、微控制器、存储器、数据转换器、接口电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。
SOPC与SOC区别:SOPC可以多次书写。
如:GPIO(通用I/O接口)、IIS(音频接口)、USB(通用串行总线接口)、LCD(液晶显示器接口)、A/D(模/数转换接口)、D/A(数/模转换接口)、IrDA(红外线接口)Ethernet (以太网接口)、CAN(现场总线)、DMA控制器、Cache是一种位于主存储器和嵌入式微处理器内核之间的快速存储器阵列。
CISC: 复杂指令集计算机中在CISC中,为了支持目标程序的优化,支持高级语言和编译程序,增加了许多复杂的指令,用一条指令来代替一串指令。
通过增强指令系统的功能,简化软件,却增加了硬件的复杂程度。
而这些复杂指令并不等于有利于缩短程序的执行时间。
RISC精简指令集计算机:是在CISC的基础上产生并发展起来的,RISC的着眼点不是简单地放在简化指令系统上,而是通过简化指令系统使计算机的结构更加简单合理,从而提高运算效率。
IP核:IP核是指具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。
流水线:流水线是将一个重复的时序分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。
RTOS实时系统:RTOS是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。
嵌入式部分复习题、练习题-含答案
第1章:ARM和嵌入式系统介绍嵌入式系统的概念ARM嵌入式处理器的版本Cortex系列处理器的组成和特点嵌入式操作系统第2章:ARM体系结构ARM、CM3处理器状态:Thumb状态和调试状态CM3处理器工作模式:Handler模式和Thread模式代码特权分级:特权级和非特权(用户)级CM3内部寄存器:r0-r12,r13,r14,r15,状态寄存器xPSR存储器映射机制:大端格式和小端格式数据对齐方式:字对齐、半字对齐、非字对齐、非半字对齐异常概念、CM3异常机制特点第3章:Cortex-M3控制器及外围硬件简介嵌入式最小系统组成第4章:指令系统和时钟ARM、Thumb、Thumb-2和CM3指令集的特点和关系STM32时钟系统结构原理和初始化编程启动代码第5章:GPIO实验、第6章:UART实验、第9章:中断实验第10章:RTC实验原理和编程第7章:模/数转换、第8章:定时器实验原理即可,不考程序1. 什么是嵌入式系统?嵌入式系统有哪些应用?2. 什么是嵌入式处理器?嵌入式处理器分为哪几类?3. 说明使用实时操作系统的必要性。
4. 简要说明ARM Cortex内核处理器分为哪几个系列?各有什么特点?5. ARM Cortex-M3处理器有哪些优势符合嵌入式操作系统的要求?6. 简述NVIC的初始化步骤。
7. 什么是嵌入式处理器?嵌入式处理器分为哪几类?二、填空1. STM32F103ZET6有个引脚, KB片内FLAM ROM, KB 片内SRAM。
2. Cortex-M3处理器支持两种特权分级:特权级和。
Cortex-M3处理器支持两种工作模式,:模式和模式。
3. PSR中,标志位C是,Z是 N是,V是。
4. CM3内部寄存器中,R13的作用是,R14的作用是,R15的作用是。
5. 经典ARM7处理器有和两种状态,CM3处理器只有状态。
6. Cortex-M3的流水线分3级,分别为、、。
7. STM32F10x的管理着包括Cortex-M3核异常等中断,其和ARM 处理器核的接口紧密相连,可以实现的中断处理,并有效地处理迟来中断。
《嵌入式》课后习题答案
第一章1. 简述嵌入式的定义以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2. 举例说明嵌入式系统的“嵌入性” 、“专用性” 、“计算机系统”的基本特征。
按照嵌入式系统的定义,嵌入式系统有3个基本特点,即“ 嵌入性”、“ 专用性”与“ 计算机”。
“嵌入性”由早期微型机时代的嵌入式计算机应用而来,专指计算机嵌入到对象体系中,实现对象体系的智能控制。
当嵌入式系统变成一个独立应用产品时,可将嵌入性理解为内部嵌有微处理器或计算机。
“计算机”是对象系统智能化控制的根本保证。
随着单片机向MCU SoC发展,片内计算机外围电路、接口电路、控制单元日益增多,“专用计算机系统”演变成为“内含微处理器”的现代电子系统。
与传统的电子系统相比较,现代电子系统由于内含微处理器,能实现对象系统的计算机智能化控制能力。
“专用性”是指在满足对象控制要求及环境要求下的软硬件裁剪性。
嵌入式系统的软、硬件配置必须依据嵌入对象的要求,设计成专用的嵌入式应用系统。
3. 简述嵌入式系统发展各阶段的特点。
(1)无操作系统阶段:使用简便、价格低廉;(2)简单操作系统阶段:初步具有了一定的兼容性和扩展性,内核精巧且效率高,大大缩短了开发周期,提高了开发效率。
(3)实时操作系统阶段:系统能够运行在各种不同类型的微处理器上,具备了文件和目录管理、设备管理、多任务、网络、图形用户界面Graphic User Interface ,GUI )等功能,并提供了大量的应用程序接口Application Programming Interface ,API ),从而使应用软件的开发变得更加简单。
(4)面向Internet 阶段:进入21 世纪,Internet 技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与Internet 技术的结合正在推动着嵌入式系统的飞速发展4. 简述嵌入式系统的发展趋势。
嵌入式习题答案1
《嵌入式系统》课后习题参考答案第一章1.什么是嵌入式系统?它由哪几部分组成?有何特点?以应用为中心,计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统、应用软件等几大部分组成。
嵌入式处理器与通用处理器的最大不同点在其大多工作在为特定用户群设计的系统。
外围设备包括:存储器、接口、人机交互。
嵌入式操作系统的特点:软硬件一体化,集计算机技术、微电子技术和行业技术为一体;需要操作系统支持,代码小,执行速度快;专用紧凑,用途固定,成本敏感;可靠性要求高;多样性,应用广泛,种类繁多。
2.嵌入式处理器分为哪几类?低端的微控制器(MicroConctroller Unit,MCU)中高端的嵌入式微处理器(Embedded MicroProcessor Unit,EMPU)通信领域的DSP系统(Digital Signal Processor,DSP)高度集成的片上系统(System on Chip,SoC)3.ARM英文原意是什么?它是个怎样的公司?其处理器有何特点?ARM(Advanced RISC Machines)公司是全球领先的16/32位RISC微处理器知识产权设计供应商。
ARM公司通过将其高性能、低功耗、低成本的RISC微处理器,外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。
ARM处理器的特点:小体积、低功耗、低成本而性能高。
16/32位指令集。
全球至多的合作伙伴。
4.什么是实时系统?它由哪些特征?如何分类?实时系统是具有实时性且能支持实时控制系统工作的操作系统。
其首要任务是调动一切可利用的资源来完成实时控制任务,其次才着眼于提高计算机系统的使用效率,其重要特点是能满足对时间的限制和要求。
实时性:实时系统所产生的结果在时间上有严格的要求,只有符合时间要求的结果才是正确的。
嵌入式实验思考题
思考题1、如何强行重新编译ADS1.2工程的所有文件?答:Project -> Remove Object Code... 删除工程中的*.obj 文件2、L DR伪指令与LDR加载指令的功能和应用有何区别,举例说明?答:LDR加载指令用于从内存中读取数据到寄存器中,例如:LDR r1,[r3]LDR伪指令用于加载32位的立即数或一个地址值到指定的寄存器中,例如:LDR r0,#0xff1234563、在AXD调试时如何复位程序?答:File -> Reload Current Image 重新加载映象文件4、指令MOV R0,#0x12345678是否正确?为什么?如何解决?答:不正确。
因为ARM是RISC结构,数据从内存到CPU之间的移动只能通过LDR/STR指令完成,而MOV只能在寄存器之间移动数据,不能干这个活,因此正确的写法是:LDR r0,#0X12345678另外,还可以用LDR伪指令,后面跟一个“ =”,LDR r0,=0x12345678,LDR 伪指令和MOV是比较相似的,只不过MOV命令限制了立即数的长度为8为,也就是不要超过512,而LDR没有限制。
如果LDR后面的立即数没有超过8位,那么计算机在处理的过程中,该LDR伪指令会被转化成MOV来执行的。
5、使用MOV ADD指令实现:R8=R3=X+Y且X与Y是8位图数据答:x equ 1y equ 2mov r0,#xmov r1,#yadd r3,r0,r1mov r8,r36、使用MOV MVN SUB指令实现:R5=0x5FFFFFF8 - R8 * 8(乘法除法用移位解决)答:MVN R0 #0xA0000007;MOV R8, #0x1SUB R5 R0, R8, LSL #37、使用CMPf t令判断(5*Y/2)>(2*X)吗?若大于则R5=R5&0xFFFF0000 否则R5=R5|0x000000FF答:X EQU 1 // 顶格写5*Y-->ADD R2,R1,R1,LSL #2 //R1=Y,Y+4Y=5YY EQU 2STARTMOV R1,#YMOV R2,#XADD R3,R1,R1,LSL #2MOV R4,R3,LSR #1MOV R6,R2, LSL #1CMP R4,R6LDR R7,=0xFFFF0000ANDGT R5,R5,R7ORRLE R5,R5,0x000000FF&如何实现64位加法运算(R6、R5)=(R6、R5)+(R3、R2)答:ADDS R5,R5,R2ADC R6,R6,R39、如何使用ARM F匚编指令实现结构化程序编程_1if(x > y)z = 100;else z = 50;答:X EQU 1Y EQU 2Z EQU 0MOV R0,#XMOV R1,#YMOV R2,#ZCMP R0,R1MOVGT R2,#100MOV R2,#5010、如何使用ARM匚编指令实现结构化程序编程_2for(i = 0; i < 10; i++){x++;}〃i、x均为无符号整数答:x equ 0i equ 0area test,code,readonlyentrystartmov r1,#xmov r0,#i ; 控制循环loop cmp r0,#10addcc r1,r1,#1addcc r0,r0,#1bcc loopb .end11、如何使用ARM匚编指令实现结构化程序编程_3while(x <= y){x *= 2;}//x、y均为无符号整数答:x equ 2y equ 32area test,code,readonlyentrystartmov rO,#xmov r1,#yloop cmp r0,r1movle r0,r0,lsl #1ble loopb .end12、如何使用ARM F匚编指令实现结构化程序编程_4do{x--;}while(x > 0);//x为无符号整数13、如何使用ARM匚编指令实现结构化程序编程_5switch(key & 0x0F){case 0:case 2:case 3:x = key + y;break;case 5:x = key - y;break;case 7:x = key * ybreak;defa ult:x = 168;break;}//x、y、key均为无符号整数14、在用户模式或系统模式下读取SPSR寄存器会有何结果?答:除了用户模式和系统模式,其余模式都有自己的一个私有的SPSR寄存器,用来保存状态切换之前的运行状态,之所以用户模式和系统模式没有SPSF是因为,通常CPU大部分时间执行在用户模式下,当产生异常或系统调用时会分别切换进入另外几种模式,保存用户模式下的状态,当切换回原先模式时,直接回复SPSR的值到CPSF就可以了,因此,用户模式和系统模式下不需要SPSR所以用户模式和系统模式不可以直接读取SPSR可以利用中断,如果强行读取的话,会出现不可预期的结果。
嵌入式系统复习题及答案
嵌⼊式系统复习题及答案⼀、单项选择题1、下⾯关于哈佛结构描述正确的是(A )。
A、程序存储空间与数据存储空间分离B、存储空间与IO空间分离C、程序存储空间与数据存储空间合并D、存储空间与IO空间合并2、下⾯哪⼀种⼯作模式不属于ARM特权模式(A )。
A、⽤户模式B、管理模式C、软中断模式D、FIQ模式3、ARM9TDMI的⼯作状态包括( D )。
A、测试状态和运⾏状态B、挂起状态和就绪状态C、就绪状态和运⾏状态D、ARM状态和Thumb状态4、指令“LDMIA R0!, {R1, R2, R3, R4}”的寻址⽅式为( C )。
A、⽴即寻址B、寄存器间接寻址C、多寄存器寻址D、堆栈寻址5、对寄存器R1的内容乘以4的正确指令是( C )。
A、LSR R1,#2B、LSL R1,#2C、MOV R1,R1, LSL #2D、MOV R1,R1, LSR #26、下⾯指令执⾏后,改变R1寄存器内容的指令是( D )。
A、TST R1,#2B、ORR R1,R1,R1C、CMP R1,#2D、EOR R1,R1,R17、下⾯哪⼀种功能单元不属于I/O接⼝电路。
( D )A、USB控制器B、UART控制器C、以太⽹控制器D、LED8、下⾯哪个操作系统是嵌⼊式操作系统。
(B )A、Red-hat LinuxB、µCLinuxC、Ubuntu LinuxD、SUSE Linux9、使⽤Host-Target联合开发嵌⼊式应⽤,( B )不是必须的。
A、宿主机B、银河麒麟操作系统C、⽬标机D、交叉编译器10、下⾯哪个系统不属于嵌⼊式系统( D )。
A、MP3播放器B、GPS接收机C、“银河⽟衡”核⼼路由器D、“天河⼀号”计算机系统11. RS232-C串⼝通信中,表⽰逻辑1的电平是(D )A、0VB、3.3VC、+5V~+15VD、-5V~-15V12. 下列不属于RISC计算机特点的是(C)。
A、流⽔线每周期前进⼀步。
嵌入式部分复习题、练习题-含答案
第1章:ARM和嵌入式系统介绍嵌入式系统的概念ARM嵌入式处理器的版本Cortex系列处理器的组成和特点嵌入式操作系统第2章:ARM体系结构ARM、CM3处理器状态:Thumb状态和调试状态CM3处理器工作模式:Handler模式和Thread模式代码特权分级:特权级和非特权(用户)级CM3内部寄存器:r0-r12,r13,r14,r15,状态寄存器xPSR存储器映射机制:大端格式和小端格式数据对齐方式:字对齐、半字对齐、非字对齐、非半字对齐异常概念、CM3异常机制特点第3章:Cortex-M3控制器及外围硬件简介嵌入式最小系统组成第4章:指令系统和时钟ARM、Thumb、Thumb-2和CM3指令集的特点和关系STM32时钟系统结构原理和初始化编程启动代码第5章:GPIO实验、第6章:UART实验、第9章:中断实验第10章:RTC实验原理和编程第7章:模/数转换、第8章:定时器实验原理即可,不考程序1. 什么是嵌入式系统?嵌入式系统有哪些应用?2. 什么是嵌入式处理器?嵌入式处理器分为哪几类?3. 说明使用实时操作系统的必要性。
4. 简要说明ARM Cortex内核处理器分为哪几个系列?各有什么特点?5. ARM Cortex-M3处理器有哪些优势符合嵌入式操作系统的要求?6. 简述NVIC的初始化步骤。
7. 什么是嵌入式处理器?嵌入式处理器分为哪几类?二、填空1. STM32F103ZET6有个引脚, KB片内FLAM ROM, KB 片内SRAM。
2. Cortex-M3处理器支持两种特权分级:特权级和。
Cortex-M3处理器支持两种工作模式,:模式和模式。
3. PSR中,标志位C是,Z是 N是,V是。
4. CM3内部寄存器中,R13的作用是,R14的作用是,R15的作用是。
5. 经典ARM7处理器有和两种状态,CM3处理器只有状态。
6. Cortex-M3的流水线分3级,分别为、、。
7. STM32F10x的管理着包括Cortex-M3核异常等中断,其和ARM 处理器核的接口紧密相连,可以实现的中断处理,并有效地处理迟来中断。
嵌入式系统课后复习答案
第一章1、式系统一般定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。
一个嵌入式系统就是一个硬件和软件的集合体,它包括硬件和软件两部分。
其中硬件包括嵌入式处理器/控制器/数字信号处理器(DSP)、存储器及外设器件、输入输出(I/O)端口、图形控制器等;软件部分包括嵌入式操作系统和应用程序嵌入式系统主要特征有:系统内核小;专用性强;运行环境差异大;可靠性要求高;系统精简和高实时性操作系统;部分代码固化在非易失性存储器中;系统开发需要专门的开发工具和环境嵌入式系统分类:按嵌入式微处理器的位数分类:嵌入式系统可分为4位、8位、16位、32位和64位等按软件实时性需求分类:可分为非实时系统(如PDA)、软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统)。
按嵌入式系统的复杂程度分类:嵌入式系统可分为小型嵌入式系统、中型嵌入式系统和复杂嵌入式系统。
2、嵌入式系统自底向上包含四个部分:硬件平台、硬件抽象层(HAL)、嵌入式实时操作系统(RTOS)、和实时应用程序。
3、实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)简称实时操作系统,主要用来完成嵌入式实时应用的任务调度和控制等核心功能。
第二章1、嵌入式系统的硬件系统是由嵌入式处理器、存储器、I/O接口电路、通信模块以及其他外部设备组成的。
硬件系统的核心是嵌入式处理器。
嵌入式系统中的处理器通常分为三大类,即微处理器(Micro-Processor Unit,MPU)、微控制器(Micro-Controller Unit,MCU)和数字信号处理器(DSP)。
存储器是构成嵌入式系统硬件的重要组成部分。
存储器的物理实质是一组或多组具备数据输入/输出和数据存储功能的集成电路,用于存放计算机工作所需的数据和程序。
常用的存储器类型分为3类:随机存取的RAM、只读的ROM、以及介于二者之间的混合存储器。
嵌入式控制系统复习题(1)
嵌⼊式控制系统复习题(1)复习题⼀、单项选择题1.下⾯哪个系统属于嵌⼊式系统。
DA、“天河⼀号”计算机系统B、联想T400笔记本计算机C、联想S10上⽹本D、联想OPhone⼿机2.如果某⼀嵌⼊式系统主要解决⼈脸识别的问题,不宜选择 A 作为设计⽅案中的核⼼器件。
A、8031单⽚机B、ARM9器件C、DSPD、ARM10器件3.在嵌⼊式系统设计中,嵌⼊式处理器选型是在进⾏ C 时完成。
A、需求分析B、系统集成C、体系结构设计D、软硬件设计4.指令“LDR R0,[R1,#4] !”的寻址⽅式为 A 。
A、变址寻址B、寄存器间接寻址C、多寄存器寻址D、堆栈寻址5.关于ARM⼦程序和Thumb⼦程序互相调⽤描述正确的是 B 。
A、系统初始化之后,ARM处理器只能⼯作在⼀种状态,不存在互相调⽤。
B、只要遵循⼀定调⽤的规则,Thumb⼦程序和ARM⼦程序就可以互相调⽤。
C、只要遵循⼀定调⽤的规则,仅能Thumb⼦程序调⽤ARM⼦程序。
D、只要遵循⼀定调⽤的规则,仅能ARM⼦程序调⽤Thumb⼦程序。
6.可将向量中断控制器编程分为FIQ、⾮向量IRQ和向量IRQ三类,它们的中断优先级别由低⾄⾼的顺序为 D 。
A、FIQ、⾮向量IRQ、向量IRQB、⾮向量IRQ、向量IRQ、FIQ9.下⾯哪⼀种⼯作模式不属于ARM特权模式 A 。
A、⽤户模式B、系统模式C、软中断模式D、FIQ模式10.下⾯关于ARM处理器的异常的描述不正确的是 C 。
A、复位属于异常B、除数为零会引起异常C、所有异常都要返回D、外部中断会引起异常11.下⾯哪⼀种功能单元不属于I/O接⼝电路。
DA、USB控制器B、UART控制器C、以太⽹控制器D、LED12.下列哪种操作系统不属于嵌⼊操作系统? BA、VxworksB、Windows XP Home EditionC、AndroidD、Windows Phone13.⼀个任务被唤醒,意味着 D 。
嵌入式温习思考题1答案
嵌入式复习思考题及答案(1)一、简答题1、ARM9有哪几种工作模式?其中哪几种属于特权模式?哪几种属于几种异常模式?答:有用户、系统、管理、中止、未定义、普通中断、快速中断。
系统、管理、中止、未定义、普通中断、快速中断属于特权模式。
管理、中止、未定义、普通中断、快速中断属于几种异常模式。
2、ARM9有哪2种工作状态?各自特点?实现状态切换指令的是什么?答:ARM状态与Thumb状态。
ARM状态指令是32位;Thumb状态指令是16位。
切换指令是BX。
3、简述ARM9在不同工作模式下寄存器分布情况(用图表说明)。
R13、R14、R15的固定用途;CPRS和SPRS名称及功能。
答:R13常作为堆栈指针SP、R14作为链接寄存器LR、R15作为程序计数器PC。
CPRS是当前程序状态寄存器,包含条件代码、中断禁止位、当前处理器模式以及其他状态和控制信息。
SPRS是程序状态保存寄存器,异常出现时用于保存CPRS的状态。
4、ARM920T处理器有哪7种异常?各自对应中断矢量、优先级如何排列?复位未定义指令软件中断指令预取中止数据中止普通中断快速中断0x000000000x000000040x000000080x0000000C0x000000100x000000180x0000001C 16652435、ARM处理器对异常中断的响应及返回过程。
答:响应过程:1、将引起异常指令的下一条指令的地址保存到新的异常工作模式的R14中;2、将CPSR的内容保存到将要执行的异常中断对应的SPSR中;3、根据异常类型CPSR中的运行模式位;4、将相应的矢量地址赋值给PC,开始执行异常处理程序。
还可设中断禁止位。
返回过程: 1、将连接寄存器LR的值减去相应的偏移量后送到PC中;2、将SPSR内容送回CPSR;3、若在进入异常处理时设置了中断禁止位,要在此清除。
6、写出ARM9支持的寻址方式,各举一例。
答:略7、写出指令LDRB/LDRH/LDR的区别。
嵌入式技术基础与实践复习题参考答案
嵌入式技术基础与实践(第二版)习题参考答案目录嵌入式技术基础与实践(第二版) (1)习题参考答案 (1)第 1 章概述习题参考答案. (2)第 2 章 FreescaleS08微控制器习题参考答案 (3)第 3 章第一个样例程序及工程组织习题参考答案. (4)第 5 章串行通信接口SCI 习题参考答案 (6)第 6 章 GPIO的应用实例—键盘、LED与 LCD习题参考答案 (9)第 7 章定时器模块习题参考答案 (10)第 8 章串行外设接口SPI 习题参考答案 (11)第 9 章 Flash 存储器在线编程习题参考答案 (13)第 1章概述习题参考答案1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统?答:即 MCU的含义是:在一块芯片上集成了中央处理单元( CPU)、存储器( RAM/ROM等)、定时器 / 计数器及多种输入输出( I/O )接口的比较完整的数字处理系统。
大部分嵌入式系统以 MCU为核心进行设计。
MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。
因此以MCU为核心的系统是应用最广的嵌入式系统。
2.简述嵌入式系统的特点以及应用领域。
答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现 ; 嵌入式系统开发需要专用工具和特殊方法 ; 使用 MCU设计嵌入式系统,数据与程序空间采用不同存储介质 ; 开发嵌入式系统涉及软件、硬件及应用领域的知识 ; 嵌入式系统的其他特点 , 比如紧的资源,较高稳定性要求,低功耗,低成本等。
一般用于工业控制,智能家电,日常电子等领域。
4.比较 MCU与 CPU的区别与联系。
答: CPU是一个单独的PC处理器。
而MCU,则有微处理器,存储器(RAM/ROM等)、定时器 / 计数器及多种输入输出(I/O )接口的比较完整的数字处理系统。
所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。
嵌入式系统复习思考题
嵌入式系统复习思考题1.什么是嵌入式系统?答:嵌入式系统是以应用为中心和以计算机技术为基础,并且软件硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标严格要求的专用计算机系统。
2.请叙述嵌入式系统的特点有哪些?答:嵌入式系统的特点有:1)嵌入式系统通常是面向特定应用的;2)嵌入式系统功耗低、体积小、集成度、成本低;3)嵌入式系统具有较长的生命周期;4)嵌入式系统具有固化的代码;5)嵌入式系统开发需要专用开发工具和环境;6)嵌入式系统软件需要RTOS开发平台7)嵌入式系统开发人员以应用专家为主8)嵌入式系统是知识集成系统3.请详细说明嵌入式系统的组成?答:嵌入式系统的组成由硬件、软件以及嵌入式系统的开发工具和开发系统3部分构成。
嵌入式的硬件是以嵌入式处理器为中心,由存储设备、I/O设备、通信接口设备、扩展设备接口以及电源等必要的辅助接口构成。
嵌入式系统的软件由嵌入式系统和相应的各种应用程序构成。
4.请说明哈佛体系结构和冯诺依曼体系结构有何不同?答:冯诺依曼体系结构的特点:1、指令和数据存储在相同的内存空间,但存储地址不同。
2、处理器利用相同的总线处理内存中的指令和数据,指令和数据具有相同的数据宽度,指令与数据无法同时存取。
哈弗体系结构的特点:1、指令存储和数据存储分开,指令和数据分别位于不同的存储空间。
2、指令与数据的存取采用不同总线,取指令和存取数据可同时进行,微处理器具有较高的执行效率。
5.简述ARM处理器的7种运行模式。
答:6.请说明常用嵌入式处理器分成哪几类?答:嵌入式处理器可分为四类:嵌入式微处理器(EMPU)、嵌入式微控制器(EMCU)、嵌入式DSP处理器(EDSP)、嵌入式片上系统(ESoC)。
【DSP(数字信号处理)】7.请画出嵌入式系统设计流程,并简要说明各阶段内容?答:需求分析阶段:分析客户的需求,并将需求分类整理,确定设计任务和设计目标。
规格说明阶段:说明系统做些什么,具有哪些方面的功能体系结构设计阶段:描述系统如何实现所述的功能和非功能的需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。
嵌入式复习思考题答案
嵌入式复习思考题答案嵌入式复习思考题及答案(1)一、简短回答问题1、arm9有哪几种工作模式?其中哪几种属于特权模式?哪几种属于几种异常模式?答:有用户、系统、管理、中止、未定义、普通中断和快速中断。
系统、管理、中止、未定义、正常中断和快速中断属于特权模式。
管理、中止、未定义、正常中断和快速中断属于几种异常模式。
2.ARM9的两种工作状态是什么?各自的特点?实现状态切换指令的方法是什么?答:arm状态与thumb状态。
arm状态指令是32位;thumb状态指令是16位。
切换指令是bx。
3、简述arm9在不同工作模式下寄存器分布情况(用图表说明)。
r13、r14、r15的固定用途;cprs和sprs名称及功能。
答:R13通常用作堆栈指针SP,R14用作链接寄存器LR,R15用作程序计数器PC。
CPRs是当前程序状态寄存器,包含条件代码、中断抑制位、当前处理器模式以及其他状态和控制信息。
SPRS是一个程序状态保存寄存器,用于在发生异常时保存CPR的状态。
4、arm920t处理器有哪7种异常?各自对应中断矢量、优先级如何排列?复位未定义指令软件中断指令预取中止数据中止普通中断快速中断0x000000000x000000040x000000080x0000000c0x000000100x000000180x0000001c16652435、arm处理器对异常中断的响应及返回过程。
答:响应过程:1、将引起异常指令的下一条指令的地址保存到新的异常工作模式的r14中;2.将CPSR的内容保存到要执行的异常中断对应的SPSR中;3.根据异常类型,CPSR中的操作模式位;4、将相应的矢量地址赋值给pc,开始执行异常处理程序。
还可设中断禁止位。
退货流程:1。
从连接寄存器LR的值中减去相应的偏移量,并将其发送到PC;2、将spsr内容送回cpsr;3.如果在进入异常处理时设置了中断抑制位,请在此处清除它。
6、写出arm9支持的寻址方式,各举一例。
《嵌入式软件开发技术》复习思考题及答案
嵌入式软件开发技术复习思考题及答案〔局部有错,仅供参考〕按照教学大纲要求,按照本书内容和学生特点,以选择题、判断题、程序设计与阐发题、简答题和思考题五种形式进行复习。
一、选择题1、单片机按用途可划分为〔〕大类。
AA.2B.3 C2、单片机按存储配置可划分为〔〕种。
BA.2B.3 C3、单片机的开展可划分为〔〕个阶段。
CA.2B.3 C4、按温度适应能力,单片机可分为〔〕个等级。
BA.2B.3 C5、不属于单片机多机应用领域的是〔〕。
A6、不属于单片机单机应用领域的是〔〕。
BA.测控系统B.多功能集散系统C.智能仪表D.机电一体化产物7、MCS-51系列单片机内部不含ROM的芯片型号是〔〕。
AA.8031B.8051 C8、在微型计算机中,负数常用〔〕暗示。
CA.原码 B.反码 C.补码 D.真值9、单片机内部RAM的可位寻址的地址空间是〔〕。
B~~~~0FFH10、特殊功能存放器的地址分布在〔〕区域。
D~~~~0FFH11、单片机中的程序计数器PC用来〔〕。
CA.存放指令 B.存放正在执行的指令地址C.存放下一条指令地址 D.存放上一条指令地址12、当工作存放器处于1区时,对应的地址空间是〔〕。
B~~~~1FH13、在21个特殊功能存放器中,有〔〕个具有位寻址能力。
AA.11B.12 C14、作为底子数据输出端口使用时,〔〕口一般要外接上拉电阻。
A1 C15、P3口作为串行通信接收端是〔〕。
AA. P3.0B. P3.1 C16、P3口作为串行通信发送端是〔〕。
BA. P3.0B. P3.1 C17、P3口作为外部中断0端是〔〕。
CA. P3.0B. P3.1 C18、8051单片机中,独一一个用户不克不及直接使用的存放器是〔〕。
CA.P S W B.D P T R C.P C D.B19、P3口作为外部中断1端是〔〕。
DA. P3.0B. P3.1 C20、无第二功能的并口是〔〕。
B1 C21、拜候外部存贮器或其它接口芯片时,作数据线和低8位地址线的是〔〕。
嵌入式复习思考题详解(金凤整理)
嵌入式复习思考题详解(金凤整理)《嵌入式系统原理及应用》复习思考题详解——11通信梁锦锋2022/5/16首发一、基本概念:嵌入式系统的定义,组成,分类,RISC,CISC,嵌入式操作系统,流行的嵌入式操作系统,嵌入式系统的架构.嵌入式系统的开发流程.嵌入式操作系统包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分;流行的嵌入式操作系统:V某Work,μC/OS和μC/OS-Ⅱ,WindowCE,嵌入式Linu某,PalmOS,QN某,DeltaOS,HopenOS,pSOS嵌入式系统的开发流程:(P35)1.需求分析阶段:(1)对问题的识别和分析(2)制定规格说明文档(3)需求评审2.设计阶段:(1)数据流分析(2)划分任务(3)定义任务间的接口3.生成代码阶段:(1)代码编程(2)交叉编译和链接(3)交叉调试(4)测试4.固化阶段 5.嵌入式软件开发的要点:(1)尽量用高级语言开发,少用汇编语言开发(2)局域化不可移植部分(3)提高软件的可重用性二、ARM体系架构,ARM的工作模式ARM的异常,ARM的存储方式(大端、小端),异常的优先级,异常的响应过程,异常的返回过程。
ARM体系架构:请看课本P49和课件【03-00、ARM微处理器体系结构.ppt】ARM的工作模式:处理器模式用户(er)系统(y)说明正常程序执行模式备注不能直接切换到其它模式与用户模式类似,但具有可以直接切换到其它模式等特权FIQ异常响应时进入此模式IRQ异常响应时进入此模式运行操作系统的特权任务快中断(fiq)中断(irq)支持高速数据传输及通道处理用于通用中断处理管理(vc)中止(abt)未定义(und)操作系统保护模式用于支持虚拟内存和/或存储器保护支持硬件协处理器的软件仿真系统复位和软件中断响应时进入此模式在ARM7TDMI没有大用处未定义指令异常响应时进入此模式ARM的异常:两类:同步异常(由内部事件(如处理器指令运行产生的事件)引起的异常)和异步异常(由外部事件(如处理器指令执行不相关的事件)引起的异常,又称为中断)异常可分成四类类别中断陷井故障终止原因异步/同步异步同步同步同步返回行为总是返回到下一条指令总是返回到下一条指令可能返回到当前指令不会返回来自I/O设备的信号有意的异常潜在可恢复的错误不可恢复的错误ARM的存储方式:(示例:0某01234567)大端模式字数据的高位字节存储在低地址中字数据的低字节则存放在高地址中地址0某80000某8001数据(16进制表示)0某010某23数据(二进制表示)0000000100100011小端模式低地址中存放字数据的低字节高地址中存放字数据的高字节地址0某80000某8001数据(16进制表示)0某670某45数据(二进制表示)0110011101000101异常优先级:优先级1(最高)23456(最低)0某80020某45010001010某80030某67011001110某80020某2300100011异常复位(Reet)0某80030某010*******数据中止(Dataabort)FIQIRQ预取中止(Prefetchabort)未定义指令、SWI(Softwareinterrupt)异常的响应过程:当异常产生时,ARMcore:拷贝CPSR到SPSR_设置适当的CPSR位:改变处理器状态进入ARM态、改变处理器模式进入相应的异常模式、设置中断禁止位禁止相应中断(如需要)保存返回地址到LR_设置PC为相应的异常向量异常的返回过程:返回时,异常处理需要:从SPSR_恢复CPSR从LR_恢复PCNote:这些操作只能在ARM态执行.三、ARM的寻址方式,立即数寻址,寄存器寻址,寄存器移位寻址,机制寻址(自动索引的基址寻址,前索引基址寻址和后索引基址寻址),多寄存器寻址,堆栈寻址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式复习思考题及答案(1)一、简答题1、ARM9有哪几种工作模式?其中哪几种属于特权模式?哪几种属于几种异常模式?答:有用户、系统、管理、中止、未定义、普通中断、快速中断。
系统、管理、中止、未定义、普通中断、快速中断属于特权模式。
管理、中止、未定义、普通中断、快速中断属于几种异常模式。
2、ARM9有哪2种工作状态?各自特点?实现状态切换指令的是什么?答:ARM状态与Thumb状态。
ARM状态指令是32位;Thumb状态指令是16位。
切换指令是BX。
3、简述ARM9在不同工作模式下寄存器分布情况(用图表说明)。
R13、R14、R15的固定用途;CPRS和SPRS名称及功能。
答:R13常作为堆栈指针SP、R14作为链接寄存器LR、R15作为程序计数器PC。
CPRS是当前程序状态寄存器,包含条件代码、中断禁止位、当前处理器模式以及其他状态和控制信息。
SPRS是程序状态保存寄存器,异常出现时用于保存CPRS的状态。
45答:响应过程:1、将引起异常指令的下一条指令的地址保存到新的异常工作模式的R14中;2、将CPSR的内容保存到将要执行的异常中断对应的SPSR中;3、根据异常类型CPSR中的运行模式位;4、将相应的矢量地址赋值给PC,开始执行异常处理程序。
还可设中断禁止位。
返回过程: 1、将连接寄存器LR的值减去相应的偏移量后送到PC中;2、将SPSR内容送回CPSR;3、若在进入异常处理时设置了中断禁止位,要在此清除。
6、写出ARM9支持的寻址方式,各举一例。
答:略7、写出指令LDRB/LDRH/LDR的区别。
答:LDRB将内存单元一个字节的数据扩展到32位装载到寄存器;LDRH将内存单元半字(两个字节)的数据扩展到32位装载到寄存器;LDR 将内存单元一个字的数据装载到寄存器。
8、写出LDM、STM指令用于数据块拷贝时对应的4种后缀以及用于堆栈操作对应的4种后缀。
解释各自的执行过程。
答:数据块拷贝后缀:IA操作后指针增;DA操作后指针减;IB操作前指针增;DB操作前指针减。
堆栈操作后缀:FD满递减;ED空递减;FA满递增;EA空递增。
9、ARM和Thumb两种状态下各自堆栈的生成方式有何不同?写出各自对应的入栈、出栈指令。
答:ARM堆栈有4种生成方式满递增、满递减、空递增、空递减;入栈指令:STM(FD\ED\FA\EA 4种后缀之一)出栈指令:LDM(FD\ED\FA\EA 4种后缀之一)Thumb堆栈采用满递减的生成方式。
入栈指令:PUSH . 出栈指令:POP10、写出条件代码NE、EQ的判断条件。
答:NE Z=0 (不相等);EQ Z=1 (相等)11、B、BL及BX指令有何区别?写出无嵌套的子程序调用及返回指令。
答:B是简单的转移指令,实现向目的地址的简单的跳转;BL是带链接的转移指令,将转移指令后的下一条指令抵制保存到链接寄存器LR;BX是带状态切换的转移指令。
子程序调用指令:BL DELAY; 无嵌套的子程序返回指令MOV PC,LR12、举例说明伪指令LDR的2个主要用途。
答:LDR R1, =0X30408020 加载32位立即数到寄存器;LDR R1, =SRC 加载一个地址值到寄存器。
13、什么是ATPCS?它有哪些规则?答:ATPCS是ARM程序和Thumb程序中子程序调用的基本规则,使单独编译的C程序和汇编程序能相互调用。
有数据栈规则、参数传递规则和子程序调用时寄存器使用规则。
二、程序阅读题(重点检测寻址方式及指令)1、在每条语句后做简要注释,写出程序执行后R0、R1 、R2和C的值。
(知识点:算术、逻辑操作、影响标志位S)AREA SUMM , CODE , READONLYX EQU 8Y EQU 16ENTRYMOV R0 , #XMOV R1 , #YADD R2 , R0 , R1AND R0 , R2 , #0X0FMOV R2 , #YADDS R2 , R0 , R1 , LSR #1STOP B STOP 程序执行后R0=8、R1=16 、R2=16和C=0。
END2、分析程序,按照加“//”语句的要求解答。
(知识点:堆栈操作)AREA STK , CODE , READONLYENTRYMOV R1 , #0X30MOV R2 , #0X08MOV SP , #0X400STMFD SP!,{R1,R2};// ①写出语句执行后SP和R2的值SP= 0X3F8 ;R2=0X08LDMFD SP!,{R5,R6};// ②写出语句执行后SP、R5和R6的值SP=0X400;R5=0X30;R6=0X08 LOOP B LOOPEND3、写出程序实现的功能,并在每条语句后做简要注释。
(知识点:寻址方式[Rn] , #immediate、循环体、数据拷贝)AREA armcopy CODE, READONLYnum EQU 16ENTRYADR r1, srcADR r3, dstMOV r2, #num 程序实现了将内存src 处的16个字拷贝到dst处。
copy LDR R0 , [r1] , #4STR R0 , [r3] , #4SUBS r2 , r2 , #1BNE copystop B stopsrc DCD 1,2,3,4,1,2,3,4,5,6,1,2,3,4,1,2dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0END4、分析程序功能,并写出加序号语句的作用。
(知识点:状态切换)程序实现了从ARM状态切换到Thumb状态实现4个字节数据的拷贝。
AREA thcopy, CODE, READONLYENTRYCODE32 ;伪操作,指示以下指令是32位的ARM指令LDR r1, =srcLDR r3, =dstMOV r2, #4LDR r4, =copy+1 ;①;伪指令,装载跳转地址以及最后的状态切换位BX r4 ;②;从ARM状态跳转到Thumb状态CODE16 ;③;伪操作,指示以下指令是16位的Thumb指令copyLDRB r0,[r1]ADD r1,#1STRB r0,[r3]ADD r3,#1SUB r2, r2, #1BNE copystop B stopsrc DCB 1,2,3,4dst DCB 0,0,0,0END5、写出下列程序执行后r0的值,并写出加序号语句的作用。
(知识点:跳转表、子程序的调用返回)AREA Jump, CODE, READONLYENTRYStart MOV r0, #0MOV r1, #8MOV r2, #5BL count ;①调用子程序stop B stopcount CMP r0, #2 ;②r0与2比较MOVHS pc, lr ;③如果r0大于2则子程序返回LDR r3, =JumpTable ;④否则将跳转表首地址送r3LDR pc, [r3,r0,LSL#2] ;⑤将r3 +r0×4(即跳转地址)送pcJumpTableDCD DoAddDCD DoSubDoAddADD r0, r1, r2MOV pc, lr ;⑥子程序返回DoSubSUB r0, r1, r2MOV pc,lr 程序执行后r0=13END6、分析下面这段混合程序回答:(1)、程序实现了什么功能?在C中调用汇编函数实现字符串拷贝(2)C语言程序和汇编代码如何传递参数? dststr R0; srcstr R1(3)在每条语句后做简要注释。
(知识点:C和汇编混合编程框架、ATPCS规则、字节拷贝)extern void strcpy(char *d,const char *s) ;声明外部函数int main(void){const char *srcstr=”a bcde fg”;char *dststr=”jjj jjjjjjj”;strcopy(dststr,srcstr) ;调用汇编函数(通过R0和R1实现参数传递)printf(“%s\n%\n”,srcstr,dststr);return(0);}AREA SCopy, CODE, READONLYEXPORT strcopy ;声明一个全局标号,可以在其他文件中引用strcopy LDRB r2, [r1],#1STRB r2, [r0],#1CMP r2, #0BNE strcpyMOV pc,lr ;子程序返回END三、设计题(掌握汇编及C语言简单程序设计。
如数据拷贝、跳转表、混合编程。
)1、用汇编语言编写数据块或字符拷贝程序(如阅读程序题)。
2、用汇编语言编写含有2个分支的跳转表实现程序跳转。
R2寄存器中存放的是跳转表的基地址。
R1中用于选择不同的子程序,子程序可以任意命名。
R1的不同值选择不同的子程序。
并做简单注释。
(如阅读程序题)3、编写一段C语言与汇编语言的混合编程代码,在C语言程序中调用汇编语言代码,完成字符串的拷贝。
(如阅读程序题)4、在汇编子程序中调用一个计算a、b、c三者之和的C语言函数add3 ( ) ,计算i+2i+3i,假设i就在R0中。
(要求说明汇编程序和C函数之间如何进行参数传递)。
int add3 (int a,int b,int c ){return a+b+c;}AREA SADD, CODE, READONLYIMPORT add3 ;声明该标号在其他源文件中,要在当前文件中引用ADD R1, R0,R0ADD R2, R0,R1BL add3 ;调用子程序END。