2011嵌入式设计复习题答案 - 图文 联系客服

发布时间 : 星期三 文章2011嵌入式设计复习题答案 - 图文更新完毕开始阅读

18.画出采用 大端 格式存放01020304H的存储器示意图。

19.画出采用 小端 格式存放05060708H的存储器示意图。

20、ARM920T有哪些运行模式,其中哪些属于特权模式?

21、用ARM汇编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配 假定低32位数存放在r0和r1里面,高32位数存放在r2和r3里面。 答:加法:

ADDS r0, r0, r1 //加S是因为要让这个操作影响标志位

ADC r2, r2, r3 //ADC是带进位的加法,如果上一条指令产生进位则一起加进来 减法:

SUBS r0, r0, r1 //加S是因为要让这个操作影响标志位 SBC r2, r2, r3 // SBC是带进位的减法指令

22、S3C2410 支持几种引导方式(或者说是内存映射方式)?简述Nand引导方式S3C2410硬件做的事情。

1)nor flash启动方式。

2)nand flash启动方式。 从Nand flash 启动时,S3C2410首先会执行固化在片上ROM中的一段小程序,这段程序负责将nand flash前2K的代码搬移到片上RAM,然后将PC指针指向0x0地址(注意这个时候片上RAM被映射到0x0的起始地址)

23、ARM微处理器内核是如何进行异常处理的?

- 9 -

答:1)当异常产生时,ARM内核拷贝CPSR到SPSR_,设置适当的CPSR位:改变处理器状态进入ARM态,改变处理器模式进入相应的异常模式,设置中断禁止位禁止相应中断(如果需要);保存返回地址到LR_,设置PC为相应的异常向量。2)返回时,异常处理需要从SPSR_恢复CPSR,从LR_恢复PC,注意:这些操作只能在ARM态执行。 24、ARM提供的可执行映像文件的模板包括哪3个生成目标?各包含什么调试信息? 答:ARM提供的可执行的映像文件的模板包括了下面3个生成目标:

1)Debug使用本生成目标生成的映像文件中包含了所有的调试信息,用于在开发过程中使用;

2)2)Release使用本生成目标生成的映像文件中不包含调试信息,用于生成实际发行的软件版本;3)DebugRel使用本生成目标生成的映像文件中包含了基本的调试信息。 25、为什么需要嵌入式操作系统?

答:嵌入式系统与一般的系统不同,设计成为执行特定的操作,但是初期的嵌入式系统比较单纯,不需要特殊的操作系统,由人来编写程序并顺序执行,只有当中间发生中断时才会暂时脱离此顺序程序。过去的嵌入式系统主要与简单而顺序的操作有关,使用操作系统成为浪费和不必要的举措。但是最近的嵌入式系统领域中系统本身相当庞大,网络和多媒体成为系统的基本功能,嵌入式系统要做的事情既多又复杂,顺序程序的操作变得越来越难。因而在嵌入式系统中出现了操作系统的概念,要满足其实时的要求,进而产生了实时操作系统。 26、 简述μC/OS-Ⅱ操作系统的移植条件。

答:要使μc/os-ii能正常运行,处理器必须满足以下要求。 (1)处理器的c编译器能产生可重入代码 可重入代码是指可以被多个任务同时调用,而不会破坏数据的一段代码;或者说代码具有在执行过程 中打断后再次被调用的能力。 (2)处理器支持中断,并且能产生定时中断 arm处理器支持中断并能产生定时中断。 (3)c语言可以开/关中断

arm处理器核包含一个cpsr寄存器,该寄存器包括一个全局中断禁止位,控制它打开和关闭中断。

(4)处理器支持一定数量的数据存储硬件堆栈

对于一些只有10根地址线的8位控制器,芯片最多可访问1kb存储单元,在这样的条件下移植是比较困 难的。

(5)处理器有将堆栈指针以及其他cpu寄存器的内容读出并存储到堆栈或内存中去的指令

arm处理器中汇编指令stmfd可以将所有寄存器压栈,对应的也有一个出栈指令ldmfd。 27、简要说明嵌入式操作系统多任务通讯的常用方式。

答:多任务通讯的方式:a)共享内存,主要是数据的共享;b)信号量,用于基本的互斥和任务同步;c)消息队列和管道,单CPU的消息传送;d)Socket和远程过程调用,用于网络间任务消息传送。

28、嵌入式开发环境主要包括哪些组件?

嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括 ? 宿主机 ? 目标机(评估电路板) ? 基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE ? 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境 ? 嵌入式操作系统

29、在进行基于ARM核的嵌入式系统软件开发时,调用如下函数: int do_something(int arg1,void *arg2,char arg3,int *arg4) 这四个参数通过什么方式从调用程序传入被调函数? 根据ATPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入, arg2, 通过R1传入,arg3通过R2传入,arg4通过R3传入

30、简述MMU的含义及主要工作。

- 10 -

答:MMU,也就是“内存管理单元”(memory management unit)。

其主要作用是两个方面:一是地址映射;二是对地址访问的保护和限制。 31、ARM9TDMI核中TDMI的基本含义是: P42

T表示支持16位Thumb指令集, D表示 在片可调式(Debug) , M表示内嵌乘法器Multiplier,

I表示嵌入式ICE ,支持在线断点和调试。 32、简述ARM微处理器支持的指令集。

ARM微处理器支持32位的ARM指令集和16位的Thumb指令集。ARM指令集效率高,但代码密度低;Thumb指令集具有较高的代码密度,可保持ARM的大多数性能上的优势,可看做是ARM指令集的子集。ARM程序和Thumb程序可以相互调用,且没有状态切换开销。

寄存器 33、解释以下标识符的作用

cache ENTRY EXPORT 辅助存储器 AREA END MACRO

33、描述嵌入式系统中存储系统结构,存储器分类以及各类存储器的常规用途 分类:随机存储器(RAM):方便读写, 但掉电后信息丢失。 只读存储器(ROM):读取方便, 但写入需要特殊时序, 掉电后信息不丢失。

主存储器

34、最小系统框图原理

时钟模块:为ARM工作提供时钟 复位模块:实现复位

JTAG:实现代码的下载与调试 UART:实现对调试信息的终端显示

- 11 -

FLASH模块:存放启动代码,操作系统,用户程序 SDRAM模块:为程序提供存储空间 六、编程题 1、编程题

1.用汇编语言编写程序读取存储器0x40003100地址上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址。

2、用汇编语言调用C语言实现n个数相加,n为C函数的参数,由汇编语言传递,结果存放在R5寄存器中。 C程序:

汇编程序:

七、判断题

1、 程序运行过程中的资源可以是显示器、键盘,但不可以是一个数组或变量。× 2、 在μCOS-II操作系统中,已知Task1的优先级为12,Task2的优先级为26。假如在Task2运行过程中发生键盘中断,在执行中断服务程序时Task1进入就绪状态,则中断返回时Task1得到CPU的使用权。√

3、 若定义任务task1的优先级为12,则不能再定义其他任务的优先级也为12。√ 4、 任务创建后即开始调度。×

- 12 -

5、 处于就绪状态的任务只能切换到运行状态。×

6、 等待消息函数WaitMessage(0)中的“0”表示此函数的超时等待时间为0秒。× 7、 若OSTaskSuspend (prio)函数把正在延时的任务挂起,则调用一次对应的唤醒函数即可使该任务切换到就绪状态。×

8、 调试程序时,需要停止程序运行后才可查看变量内容。√ 9、 μCOS-II操作系统中移植成功后即可使用文件系统。 ×

10、 将模拟信号转换成数字信号的电路是DA转换器。× AD转换器 11、 IIC是同步串行数据总线。√

12、 S3C2410的处理器对内存的访问只能通过Load/Store指令来实现。√ 13、 Nand Flash比Nor Flash成本高,可靠性差。× 14、 C语言程序可以嵌套加入汇编程序模块。 √

15、 运算放大器的输出电压范围一般大于电源电压的范围。× 小于等于

16、 由于CPU内部寄存器的访问速度较高,根据ATPC标准,应尽可能使函数的参数控制在4个以下。√

17、 ARM处理器结构体系中具有T变种处理器核可以工作在ARM状态和Thumb状态。√ 19、ARM9TDMI采用5级流水线:取指、译码、执行、访存和写回。 √ 20、ARM内核支持7种中断和异常。√

21、嵌入式系统的设计的三个阶段是分析 、设计、测试。× 分析,设计,实现 22、S3C2410X可通过软件的方式控制系统时钟,从而达到降低功耗的目的。√ 23、衡量系统的实时性用响应时间、吞吐量、生存时间三个指标。√

24、S3C2410X存储控制器支持大端、小端模式存储,可寻址1GB的空间。√ 25、B 0x1200 ;跳转到绝对地址0x1200处执行。 √

26、通常所说的 32 位微处理器是指地址总线的宽度为 32 位 。 × CPU字长32 27、S3C2410X微处理器有117位通用I/O和24位外部中断源的外围资源。√ 28、若操作数的地址包含在指令中,则属于直接寻址。√

29、LDR R0,[R1+4]指令实现的功能是将R1的内容加4后送R0。√

30、S3C2410X的时钟和电源管理模块包括三个部分:时钟管理逻辑、USB时钟控制和电源管理。√

31、ARM状态是32位,执行字对准的ARM指令。√ 32、APB用于连接低速的外围设备。√

33、当一个中断发生时,相应的R14存储中断返回地址,SPSR存储状态寄存器CPSR的值。√ 34、ARM体系结构包含一个当前程序状态寄存器CPSR和(5 C)个备份的程序状态寄存器SPSR。√

35、当一个中断发生时,相应的R14存储中断返回地址。√

36、S3C2410X微处理器有3个通道的UART,4个通道的DMA外围资源。√

37、嵌入式系统由硬件和软件两大部分组成。 × 硬件、软件和开发平台

- 13 -