嵌入式系统原理及应用第三章习题
孟祥莲嵌入式系统原理及应用教程部分习题答案

习题 11.嵌入式系统的概念的是什么?答:嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
(嵌入式系统是嵌入式到对象体系中的,用于执行独立功能的专用计算机系统。
)2.嵌入式系统的特点是什么?答:系统内核小;专用性强;运行环境差异大;可靠性要求高;系统精简和高实时性操作系统;具有固化在非易失性存储器中的代码嵌入式系统开发和工作环境4.嵌入式系统的功能是什么?答:提供强大的网络服务小型化,低成本,低功能;人性化的人机界面;完善的开发平台5.嵌入式系统的硬件平台由哪些部分组成?答:嵌入式系统的硬件是以嵌入式处理器为核心,由存储器I/O单元电路,通信模块,外部设备必要的辅助接口组成的。
7.嵌入式操作系统的主要特点是什么?答:体积小;实时性;特殊的开发调试环境。
8.叙述嵌入式系统的分类。
答:按嵌入式微处理器的位数分类可以分为4位、8位、16位、32位和64位等;按软件实时性需求分类可以分为非实时系统(如PDA),软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统);按嵌入式系统的复杂程度分类可以分为小型嵌入式系统,中型嵌入式系统和复杂嵌入式系统。
习题21.ARM9处理器和工作状态有哪些?答:ARM状态:此时处理器执行32位的的字对齐的ARM指令。
Thumb状态:此时处理器执行16位的,半字对齐的Thumb指令2.叙述ARM9内部寄存器结构,并分别说明R13、R14、R15寄存器的作用。
答:共有37个内部寄存器,被分为若干个组(BANK),这些寄存器包括31个通用寄存器,包括程序计数器(PC指针)6个状态寄存器。
R13用作堆栈指针,R14称为子程序链接寄存器,R15用作程序计数器。
4.ARM处理器的工作模式有哪些?答:用户模式:ARM处理器正常的程序执行状态。
快速中断模式:用于高速数据传输或通道处理外部中断模式:用于通用中断处理管理模式:操作系统使用的保护模式数据访问终止模式:当数据或指令预期终止时进入该模式,可用于虚拟存储器及存储保护系统模式:运行具有特权的操作系统任务未定义指令终止模式:当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
嵌入式系统原理及应用第三章习题

第三章软件作业习题3、将存储器中0x400000开始的200字节的数据,传送到0x400800开始的区域。
解:AREA procedure3,CODE,READONLYENTRYCODE32STARTMOV R0,#0x400000LDR R1,=0x400800MOV R7,#200LOOP LDRB R2,[R0],#1STRB R2,[R1],#1SUBS R7,R7,#1BNE LOOPCEASEB CEASEEND4、编写程序,比较存储器中0x400000与0x400004两无符号字数据的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记为0,若前者大于后者其结果记为1,若前者小于后者其结果记为-1。
解:AREA procedure4,CODE,READONLYENTRYCODE32STARTMOV R0,#0x400000LDR R1,[R0],#4 ;取第1个数LDR R2,[R0],#4 ;取第2个数CMP R1,R2 ;将两个数相比较MOVHI R1,#1 ;R1比R2大MOVLO R1,#-1 ;R1比R2小MOVEQ R1,#0 ;两个数相等STR R1,[R0]CEASEB CEASEEND5、存储器从0x400000开始的100个单元中存放着ASCII码,编写程序,将其所有的小写字母转换成大写字母,对其它的ASCII码不做变换。
解:AREA procedure5,CODE,READONLYENTRYCODE32STARTMOV R0,#0x400000MOV R1,#0LOOP LDRB R2,[R0,R1]CMP R2,#0x61 ;与‘a’比较BLO NEXT ;小于转到NEXTCMP R2,#0x7B ;0x7A为‘z’SUBLO R2, R2,#0x20 ;小于转换STRBLO R2,[R0,R1] ;小于保存NEXTADD R1,R1,#1CMP R1,#100BNE LOOPCEASEB CEASEEND6、编写一程序,查找存储器从0x400000开始的100个字中为0的数目,将其结果存到0x400190中。
嵌入式系统开发3章习题参考答案

思考题及习题1.写出5条指令,每条指令就源操作数而言,其寻址方式分别为:寄存器寻址、多寄存器寻址、立即数寻址、寄存器间接寻址、基址变址寻址。
寄存器寻址:ADD R0,R1,R2 多寄存器寻址:LDMIA R0,{R1-R4}立即数寻址:ADD R0,R0,#1 寄存器间接寻址:LDR R0,[R1]基址变址寻址:LDR R0,[R1,#-4]2. 若系统堆栈设置在数据区:0x2100000~x2100200范围内,分别说明以FA、FD、EA、ED方式组织堆栈,初始化时,R13所指向的地址单元。
FA:LDR R13,=0x20FFFFC; EA:LDR R13,=0x2100000;FD:LDR R13,=0x2100204; ED:LDR R13,=0x2100200;3.说明转移指令B L1”中的标号L1,在当前指令的什么范围内有效。
+/-32M4.说明转移指令“BX R0”的转移范围,R0取何值可转移到ARM指令处、R0取何值可转移到THUMB指令处。
Rn[0]=0,转移到ARM指令处;Rn[0]=1,转移到THUMB指令处。
5.编程实现:若R0=0,则转移到标号L0处;若R0=1,则转移到标号L1处;若R0=2,则转移到标号L2处,否则不转移。
CMP R0,#0BEQU L0CMP R0,#1BEQU L1CMP R0,#2BEQU L26.除了转移指令“B、BX”外,还有什么指令可实现程序的转移,举例说明。
MOV R15,R07.编程实现:100+101+102+…+200,其和存于R0。
mov r0,#100 ;需要相加100次mov r1,#100 ;最初的和为1mov r2,#101 ;最初的加数为101l1 add r1,r1,r2 ;和+加数add r2,r2,#1 ;加数+1subs r0,r0,#1 ;调整循环相加次数bne l1 ;循环相加次数不为0,则循环进行end8.如何实现128位数的减法,举例说明。
嵌入式系统习题查根龙

嵌入式系统温习第一章嵌入式系统基础一、嵌入式系统的概念?二、嵌入式系统的组成?3、嵌入式系统的特点?4、嵌入式系统的应用?五、嵌入式处置器的分类,常见的嵌入式处置器有哪些?六、什么是嵌入式操作系统?嵌入式操作系统有哪些类型?7、什么是实时操作系统?实时操作系统的组成和特点。
它有哪些特征?八、常见的嵌入式操作系统有哪些?九、实时操作系统常常利用的任务调试算法有哪几种?10、用什么方式解决优先级反转问题?1一、单片机是不是嵌入式系统?它与ARM嵌入式系统有何异同?1二、嵌入式系统与通用运算机之间的区别。
第二章嵌入式系统开发流程一、嵌入式系统开发进程分为哪几个阶段?每一个阶段的特点是什么?二、嵌入式软件开发流程。
3、嵌入式系统有哪几种调试方式?此刻最流行的是哪一种?利用什么接口?4、什么是板级支持包?它一般应完成哪些工作?第三章ARM的体系结构一、ARM的英文命名是什么?AMR处置器有人材特点?二、运算机中的两种典型体系结构是什么,各自的特点是什么?3、试比较RISC体系结构和CISC体系结构的特点。
4、ARM支持哪些数据类型?五、ARM处置器支持的数据类型有哪些?六、画出别离采用小端格式和大端格式寄存0x的存储器示用意。
设存储器的初始地址为0x4000。
7、在ARM处置器的存储空间中,有一段存储空间中存储的数据如下所示:①假设,存储空间中的数据是以大端存储的,那么地址0x8000中存储的一个字是什么?地址0x8000中存储的一个半字是什么?地址0x8003中存储的一个字节是什么?②若是,存储空间中的数据是小端存储的,上述问题的答案别离是什么?八、在ARM处置器的存储空间中,有一段存储空间中存储的数据如下所示:假设,存储空间中的数据是以小端存储的,R0中的值为0x8000。
回答以下问题:①执行完LDR R1,[R0]后,R1的值是多少?②执行完LDR R1,[R0],#4后,R1的值是多少?③执行完LDR R1,[R0,#2]后,R1的值是多少?④执行完LDMIA R0,{R1-R4}后,R0中的值如何转变?⑤执行完LDR R0,[R1,R2,LSL #3]后,R1的值如何转变?九、ARM处置器一共有几种中工作模式,别离是?那种模式下,专业寄放器最多。
vv3[计算机]《嵌入式技术基础与实践》习题参考答案
![vv3[计算机]《嵌入式技术基础与实践》习题参考答案](https://img.taocdn.com/s3/m/f6a4e94a814d2b160b4e767f5acfa1c7aa0082f3.png)
第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紧紧是一个处理器而已。
第2章FreescaleS08微控制器习题参考答案1.给出AW60存储器映像的简要说明。
答:所谓存储器映像,是指地址$0000~$FFFF这个64KB空间,哪些地址被何种存储器所占用,或者说AW60的RAM、Flash、I/O映像寄存器各使用$0000~$FFFF这个64KB空间中的哪些地址。
简单地说,就是$0000~$FFFF这个64KB空间是如何分配的。
2.AW60的引脚主要分为哪几类?简要说明主要引脚的功能。
答:(1)电源类信号引脚(2)复位信号引脚(3)主要功能模块引脚。
比如定时器,IRQ中断等。
(4)其他,比如背景调试BKGD引脚主要引脚:AW60最小系统连接的I/O口,以及各具体功能I/O口。
单片机嵌入式系统原理及应用答案

具有强开放性,现在有大约数千种专门为palm os编写的应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案,palm os无所不包。在丰富的软件支持下,基于palm os的掌上电脑功能得以不断扩展。
操作系统的节能功能。在palm os的应用程序中,如果没有事件运行,则系统设备进入半休眠(doze)的状态;如果应用程序停止活动一段时间,则系统自动进入休眠(sleep)状态。
精简的模块化操作系统
多硬件平台支持
支持有线和无线的网络连接
稳健的实时性支持
丰富的多媒体和多语言支持
强大的开发工具
3) palm os:
3com公司产品,专门为掌上电脑开发的32位的嵌入式操作系统
占有非常小的内存,基于palm os编写的应用程序占用的空间也非常小(通常只有几十kb)
palm提供了串行通信接口和红外线传输接口,利用它可以方便地与其它外部设备通信、传输数据
从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的嵌入式系统。本书所谓的嵌入式系统是指狭义上的嵌入式系统。
根据ieee(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
六是数量不同。嵌入式系统的数量远大于通用计算机系统的数量。因为一个通用计算系
统中至少包括数十个嵌入式系统。更别说其它的嵌入式系统了。
17、常见的嵌入式操作系统有哪些,各自有什么特点
ARM3.2嵌入式系统原理第三章习题(2)2012

嵌入式系统原理第三章习题答案(2)20121 简述什么是ARM汇编语言中的伪操作、宏指令和伪指令?伪操作是ARM汇编语言程序里的一些特殊指令助记符,主要作用是为完成汇编程序做各种准备工作,在源程序进行汇编时由汇编程序处理,而不是在计算机运行期间由机器执行。
伪操作只在汇编过程中起作用,一旦汇编结束,伪操作的使命也随之结束。
宏指令是一段独立的程序代码,可以插在源程序中,通过伪操作来定义。
宏在被使用之前必须提前定义好。
宏之间可以互相调用,也可以自己递归调用。
宏定义本身不会产生代码,只是在调用它时把宏体插入到源程序中。
伪指令也是ARM汇编语言程序里的特殊指令助记符,也不在处理器运行期间由机器执行,它们在汇编时将合适的机器指令代替成ARM或Thumb指令从而实现真正指令操作。
2 请写出在Thumb状态下调用ARM状态下子程序的调用返回关键指令。
CODE 16…ADR LR, NEXTADR R0, ARMSUBBX R0NEXT MOV R1, #2…CODE 32ARMSUB…ADD LR, LR, #1BX LR3 请写出在主程序中调用子程序SUB1,SUB1中调用子程序SUB2,SUB2中调用子程序SUB3的调用返回关键指令。
其中主程序、子程序SUB1、SUB2、SUB3均在同种状态下。
…BL SUB1…SUB1 …STMFD SP!, {R0-R2,LR}BL SUB2…LDMFD SP!, {R0-R2,PC}SUB2 …STMFD SP!, {R0-R2,LR}BL SUB3…LDMFD SP!, {R0-R2,PC}SUB3 …MOV PC, LR4 用汇编语言完成对C语言全局变量的访问。
假设CVAR1和CVAR2是C语言中定义的全局变量,请用一段汇编语言访问它们,完成两者的相加运算,结果存放在CVAR1中。
答:AREA globals, CODE, READONLYEXPORT accesscvarIMPORT cvar1IMPORT cvar2ENTRYaccesscvarLDR R1, =cvar1LDR R2, =cvar2LDR R0, [R1]LDR R3, [R2]ADD R0, R0, R3STR R0, [R1]MOV PC, LREND5 编写一段程序,用内嵌汇编指令实现快速中断的使能和禁止。
嵌入式系统原理与应用课后答案

嵌入式系统原理与应用课后答案1. 第一章答案:a. 嵌入式系统是嵌入到其他系统中的小型电子系统,一般具有特定的功能和任务。
它以硬件和软件的结合形式存在。
b. 嵌入式系统具有实时性、可靠性和可扩展性的要求,并且一般运行在资源受限的环境中。
c. 嵌入式系统可分为实时嵌入式系统和嵌入式控制系统两种类型。
d. 实时嵌入式系统需要按照严格的时间要求完成任务,可以分为硬实时和软实时系统。
2. 第二章答案:a. 嵌入式系统的硬件平台由微处理器、存储器、总线、输入输出设备等组成。
b. 嵌入式系统的硬件平台性能指标包括:处理器的主频、存储器的容量和带宽、总线的带宽和响应时间、输入输出设备的性能等。
c. 嵌入式系统的软件平台由操作系统、应用软件和驱动程序等组成。
d. 实时操作系统是嵌入式系统的核心软件,它可以提供任务调度、资源管理、中断处理等功能。
3. 第三章答案:a. 嵌入式系统的开发流程包括需求分析、系统设计、硬件设计、软件设计、系统集成和测试等阶段。
b. 嵌入式系统开发中常用的设计工具包括仿真工具、编译工具、调试工具和测试工具等。
c. 嵌入式系统的设计方法可以分为自顶向下设计和自底向上设计两种。
d. 自顶向下设计是先定义系统的整体结构,再逐步详细设计每个组件的功能和接口。
e. 自底向上设计是先设计每个组件的功能和接口,再逐步将它们组合起来形成系统。
4. 第四章答案:a. 嵌入式系统的程序设计语言可以分为汇编语言、高级语言和特定领域语言三种。
b. 汇编语言是一种低级语言,使用机器指令来编写程序,可以直接控制硬件。
c. 高级语言是一种抽象层次较高的语言,使用类似自然语言的语法来编写程序,更易理解和维护。
d. 嵌入式系统常用的高级语言包括C语言和C++语言。
e. 特定领域语言是一种专门为某种特定应用领域设计的语言,具有特定领域的特性和功能。
5. 第五章答案:a. 嵌入式系统的编程模型可以分为裸机编程和操作系统编程两种。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章软件作业习题
3、将存储器中0x400000开始的200字节的数据,传送到0x400800开始的区域。
解:
AREA procedure3,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
LDR R1,=0x400800
MOV R7,#200
LOOP LDRB R2,[R0],#1
STRB R2,[R1],#1
SUBS R7,R7,#1
BNE LOOP
CEASE
B CEASE
END
4、编写程序,比较存储器中0x400000和0x400004两无符号字数据的大小,并且将比较结果存于0x400008的字中,若两数相等其结果记为0,若前者大于后者其结果记为1,若前者小于后者其结果记为-1。
解:
AREA procedure4,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
LDR R1,[R0],#4 ;取第1个数
LDR R2,[R0],#4 ;取第2个数
CMP R1,R2 ;将两个数相比较
MOVHI R1,#1 ;R1比R2大
精选文库
MOVLO R1,#-1 ;R1比R2小
MOVEQ R1,#0 ;两个数相等
STR R1,[R0]
CEASE
B CEASE
END
5、存储器从0x400000开始的100个单元中存放着ASCII码,编写程序,将其所有的小写字母转换成大写字母,对其它的ASCII码不做变换。
解:
AREA procedure5,CODE,READONLY
ENTRY
CODE32
START
MOV R0,#0x400000
MOV R1,#0
LOOP LDRB R2,[R0,R1]
CMP R2,#0x61 ;与‘a’比较
BLO NEXT ;小于转到NEXT
CMP R2,#0x7B ;0x7A为‘z’
SUBLO R2, R2,#0x20 ;小于转换
STRBLO R2,[R0,R1] ;小于保存
NEXT
ADD R1,R1,#1
CMP R1,#100
BNE LOOP
CEASE
B CEASE
END
6、编写一程序,查找存储器从0x400000开始的100个字中为0的数目,将其结果存到0x400190中。
解:
AREA procedure6,CODE,READONLY
ENTRY
精选文库
CODE32
START
MOV R0,#0x400000
MOV R7,#100 ;控制循环变量
MOV R1,#0 ;保存0的数目
LOOP
LDR R2,[R0],#4 ;取数
CMP R2,#0 ;比较为0
ADDEQ R1,R1,#1 ;为0加1
SUBS R7,R7,#1 ;修改控制变量
BNE LOOP
STR R1,[R0] ;保存0的数目
CEASE
B CEASE
END
7、编写一程序,存储器中从0x400200开始有一个64位数。
(1)将取反,再存回原处;
(2)求其补码,存放到0x400208处。
解:
AREA procedure7,CODE,READONLY
ENTRY
CODE32
START
LDR R0,=0x400200
LDR R2,=0xFFFFFFFF
LDR R1,[R0] ;取低32位数
EOR R1,R1,R2 ;取反
STR R1,[R0] ;存低32位反码
ADDS R1,R1,#1 ;又加1为求补
STR R1,[R0,#8] ;存低32位补码
LDR R1,[R0,#4] ;取高32位数
EOR R1,R1,R2 ;取反
STR R1,[R0,#4] ;存高32位反码
ADC R1,R1,#0 ;高32位求补
STR R1,[R0,#12] ;存高32位补码
CEASE
精选文库
B CEASE
END
8、编写一简单ARM汇编程序段,实现1+2+…+100的运算。
解:
AREA procedure8,CODE,READONLY
ENTRY
CODE32
START
MOV R2,#100
MOV R1,#0
LOOP
ADD R1,R1,R2 ;R1中为累加和
SUBS R2,R2,#1 ;R2控制循环
BNE LOOP
CEASE
B CEASE
END。