嵌入式期末考试题(4)

2019-05-18 17:12

35.简述FIQ工作方式的特点?

答:FIQ异常是由外部中断信号引起的。(2分)FIQ异常模式下有足够的私有寄存器,且支持数据传送和通道处理方式,从而当异常发生、进入异常服务时,可避免对私有寄存器保存的需求,减少了进入异常或退出异常过程中的总开销。(2分)FIQ异常优先级高于IRQ异常。FIQ异常向量被放在所有异常的最后,这样是为了提高相应速度。(2分) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 31.简述提高软件可靠性的方法。

答:嵌入式系统可靠性的基本指标有:可靠度、失效率(2分)、平均故障间隔时间、(2分)和平均修复时间和利用率等。(2分) 32.简述S3C2410的存储空间的分配方法。

答:S3C2410芯片采用的是ARM920T核,地址空间总共为4G。(2分)其中,1GB地址空间用于支持外部存储器的链接,此部分被分成8个存储块,每块128MB。另外的空间有一小部分用于I/O端口或部件的寻址,其他的地址空间没有用到。(4分) 33.简述嵌入式操作系统与通用操作系统的区别。

答:通用操作系统是一种通用的操作系统,可运行在不同的硬件平台。(3分)而嵌入式操作系统与一般的Windows操作系统不同,其是一种专用、可定制的特点。(3分) 34.简述在应用编程及其优点。

答:对于大部分基于闪存的系统来说,一项重要的需求就是当这些系统安装在终端产品上后,具有更新固件的能力,这个能力称为在应用编程(In-Application Programming IAP)。(3分)很显然,在应用编程的好处是可以摆脱昂贵、复杂的编程器和仿真器,为用户的最终产品提供方便的固件程序的更新能力。另外,对于资源有限的开发者来说,也提供了一种极低成本的固件下载方法。(3分) 35.简述ARM9异常的优先级

答:若多个异常在某一时刻同时出现,那么,ARM9处理器将按照异常的优先级高低顺序处理,优先级顺序由高到底为:复位、数据中止、FIQ、IRQ、预取中止、未定义指令和SWI。(3分)当优先级高的异常被响应后,ARM9处理器将跳转到一个对应的地址处开始执行程序,这个异常服务程序的入口即是其向量地址。(3分)

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 31.简述嵌入式系统的BooTLoader的功能。

答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。(2分)通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。)(4分) 32.简述目前嵌入式操作系统的种类。

答:1)μC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统 ;5)Symbian操作系统(6分) 33.简述构造嵌入式开发环境的三种形式。

答:1)交叉开发环境 ;(2分)2)软件模拟环境 ;(2分)3)评估电路板(2分) 34.简述嵌入式系统开发的基本流程。

答:1)系统定义与需求分析;2)系统设计方案的初步确立;3)初步设计方案性价比评估与方案评审论证;4)完善初步方案、初步方案实施;5)软硬件集成测试;6)系统功能性能测试及可靠性测试。(每项1分) 35.简述可编程片上系统内容。

答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC。它是

一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;(3分)其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。(3分)

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

31.简述有时要使用Thumb技术的原因

答:(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。()2分)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,(2分)可以带来低功耗,小体积,低成本。(2分) 32.简述ARM处理器的工作模式。

答:1)正常用户模式(usr);2)快速中断模式(fiq);3)普通中断模式(irq);4)操作系统保护模式(svc) 或 管理模式 ;5)数据访问中止模式(abt);6)处理未定义指令的未定义模式(und);7)运行特权级的操作系统任务的系统模式(sys)。(6分) 33.简述在c语言程序中内嵌汇编语言的方法。

答:内嵌的汇编指令包括大部分的ARM指令和Thumb指令,但是不能直接引用C的变量定义,数据交换必须通过ATPCS进行。(4分)嵌入式汇编在形式上表现为独立定义的函数体。(2分)

34.简述寄存器CPSR,SPSR的功能。

答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。(3分)

在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。(3分) 35.简述小端和大端存储器组织的内容。

答:1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址(同同小)。(3分)2) 大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址(正反大)。(3分)

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 31.简述数据的边界对齐定义。

答:默认情况下,ADS编译器使用的是数据类型的自然边界对其方式。(2分)数据的自然对其方式是指:如果该数据类型是n个字节的,那么该数据类型就按n字节对齐。(4分)

32.简述现有ARM核的种类。

答:ARM7、 ARM9、ARM9E 、ARM10E,、SecurCore 、ARM11(每项1分) 33.简述在C语言程序中调用汇编语言程序的方法。

答:为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS。在汇编程序中需要使用EXPORT伪操作来声明,使得本程序可以被其它程序调用。(3分)同时,在C程序调用该汇编程序之前需要在C语言程序中使用extern关键词来声明该汇编程序。(3分)

34.简述实时操作系统的主要功能。

答:实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)简称实时操作系统,主要用来完成嵌入式实时应用的任务调度和控制等核心功能。(4分)这些功能是通过内核服务函数形式交给用户调用的,也就是RTOS的系统调用,或者叫做RTOS的API。(2分)

35.简述寄存器R13,R14,R15的专用功能。

答:1)寄存器R13保存堆栈指针SP;(2分)2)寄存器R14用作子程序链接寄存器,

也称为LR ,用以保存返回地址;(2分)3)R15(PC)用作程序计数器。(2分)

分析设计题

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 36.编写程序,完成操作r1 = r2 * 4功能。 解:MOV R1,R2, LSL #2

37.编写子程序实现两个寄存器R0,R1相加的功能。

ADD_SUB ADDS R0,R0,R1 MOV PC,LR END

38.试分析当初始值R2=5,R3=4,R4=3,执行指令SUBS R2, R3,R4,LSR #2后,寄存器R2,R3的值分别是多少?

R2=3 R3=4

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 36.编写程序,使能IRQ中断

ENABLE-IRQ

MRS R0,CPSR BIC R0,R0,#0X80 MSR CPSR_C,R0 MOV PC,LR

37.有如下程序段,并回答执行程序以后R0的值是多少。 num EQU 2 start

MOV r0, #1 MOV r1, #6 MOV r2, #3

BL arithfunc stop

B stop

arithfunc CMP r0, #num MOVHS pc, lr ADR r3, JumpTable

LDR pc, [r3,r0,LSL#2] JumpTable

DCD (.WORD) DoA DCD (.WORD) DoS DoA

ADD r0, r1, r2 MOV pc, lr DoS

SUB r0, r1, r2 MOV pc,lr END 答:R0=5。

38.有程序段如下,实现下面流程图,试补充编写ARM汇编代码。 程序段:

startYESr0=r1?NOstopYESr0>r1?NOr0 = r0 - r1MOV r0, #15

r1 = r1 - r0

MOV r1, #9 start ;补充代码 stop B stop END 程序:

Start: CMP r0,r1 SUBLT r1,r1,r0 SUBGT r0,r0,r1 BNE start

///////////////////////////////////////////////////////////////////////////////////////////////////////// 36.写一条 ARM 指令,完成操作r1 = r2 * 3 解:ADD R1,R2,R2 ,LSL #1

37.编写程序,禁能IRQ中断

DISABLE_IRQ MRS R0 CPSR ORR R0,R0,#0X80 MSR CPSR_C,R0 MOV PC,LR

38.试分析当初始值R1=26H,R2=0FH执行指令BIC R0, R1,R2,LSL #2后,寄存器R0,R1的值分别是多少? 解:R0=02H, R1=26H

//////////////////////////////////////////////////////////////////////////////////////////////////// 36.说明指令STMIA r12!, {r0-r11}的操作功能。

解:将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。

37.写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。

AREA total, CODE READONLY ENTRY start MOV r4, #0 ADR r0, myarray

;在此补充代码 stop B stop myarray DCD 0x11 DCD 0x22 ……

DCD 0x0 END 解:

Loop LDR r1, [r0], #4 ADD r4, r4, r1 CMP r1, #0 BNE loop

38.编一个简单的软件延时程序

DELAYI NOP NOP NOP

SUBS R1,R1,#1 BNE DELAYI MOV PC,LR

////////////////////////////////////////////////////////////////////////////////////////////////// 36.编写程序实现求R4R3-1,差放在R6R5中的功能 SUBS R5,R3,#1 SBC R6,R4,#0

37.这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符“//”后,说明该句程序的作用。 strtest.c

#include

extern void strcopy(char *d, const char *s); int main()

{ const char *srcstr = \ char dststr[] = \

printf(\

printf(\ '%s'\\n '%s'\\n\ strcopy(dststr,srcstr); // printf(\

printf(\ '%s'\\n '%s'\\n\


嵌入式期末考试题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:八十九学年度海外地区学生来台升读大学校

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: