21嵌入式设计复习题答案要点_第1页
21嵌入式设计复习题答案要点_第2页
21嵌入式设计复习题答案要点_第3页
21嵌入式设计复习题答案要点_第4页
21嵌入式设计复习题答案要点_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、填空题1、哈佛体系结构数据空间和地址空间(分开),ARM920T用(哈佛)的内核架构。2、ARM7TDMI用(3 )级流水线结构,ARM920TDMB用(5 )级流水线。3、ARM7TDIMI, T表示支持16位Thumb旨令集,D表示(在片可调式),M表示内嵌乘法器Multiplier ,I表示(嵌入式ICE ),支持在线断点和调试。4、“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。5、ARMt理器共有37个寄存器,31个通用寄存器,6个状态寄存器。寄存器R13通常用作堆栈指针,称 作SP寄存器R14用作子程序链接寄存器,也称为链接寄存器LK (Link Register

2、 )。6、程序状态寄存器CPSR勺N Z、G V分别指-,I=1指-禁止IRQ中断-、F=1指-禁止FIQ中断-,M4:0用做-处理器模式选择-。7、ARMt处理器支持四种类型的堆栈,即:满递增堆栈、满递减堆栈、空递增堆栈、空递减堆栈。8、AR朦处理器有L种工作模式,它们分为两类特权模式 、非特权模式 。其中用户模式属于非特权模式9、AR岐持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM犬态、thumb状态,状态寄存器CPSR勺T (或者填D5 ) 位反映了处理器运行不同指令的当前状态10、ARMt理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼结构,数据和指令分开使用

3、不同接口的是哈佛结构11、AR唯有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15寄存器用于存储PC R13通常用来存储 SP (或者填 堆栈指针)12、编译链接代码时,有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是大端对齐13、不同的中断处理不同的处理模式,具有不同的优先级,而且每个中断都有固定的中断入口地址。当一 个中断发生时,相应的R14存储中断返回地址,SPS存储状态寄存器CPSR勺值。14、嵌入式微处理器有嵌入式微处理器、嵌入式微控制器、曲入式DSFa理器和嵌入式片上系统四种类型。15、ARM9TDMI用5级流水线:取指、译码、执行、访存和写回。16、A

4、MBA、线结构包括ASB AHBffiAPB总线。ASB/AHI于CPUf存储器、DMAI制器、总线仲裁控制 器等片上系统中芯片的连接,APEffi于连接低速的外围设备。17、函数的参数传递方法有两种:R0R翁存器 和 堆栈9、下歹【32位数中,不可作为立即数的是_A_A、 0x81000007B、 0x04800000C、 0x00000012D、 0x800000711、S3c241床用白勺是 D 核心A ARM7TDMI B、ARM9TDMI C、ARM926EJ-S D ARM920T13、MM的作用有A BA内存保护B地址转换(将虚地址转换成物理地址)C 加快存取速度D 安全保密E内

5、存 分配15、存储一个32位数0x21684651U 2000HH2003H四个字节单元中,若以大端模式存储,则2000H#储 单元的内容为 DA 0x21B、0x68 G 0x65 D 0x0216、RS232-CI 口通信中,表示逻辑1的电平是 D 。A 0vB、3.3v G +5v+15vD. 5v15v17、ARM匚编语句 “ADD R0, R2, R3, LSL#1 ” 的作用是A。A. R0 = R2 + (R3 1)B. R0 =( R2 1) + R3C. R3= R0+ (R2 1)D. (R3 0x0000001420、ADD0, R1, #3属于 A寻址方式。A.立即寻址

6、B.多寄存器寻址C.寄存器直接寻址D.相对寻址21、GETS指令的含义是 AA.包含一个外部文件B.定义程序的入口 C.定义一个宏D.声明一个变量23、若 R1=2000H (2000H)=0x8Q (2008H)=0x39, WJ执彳T指令 LDR R0 R1, #8!后 R0的值为_D_。A. 0x2000 B. 0x86 C. 0x2008 D. 0x3928、LDR R2 R3,#128的寻址方式是C。A.寄存器寻址B.寄存器移位C.变址寻址D.间接寻址29、当一个中断发生时,相应的 A (LR)存储中断返回地址。A R14 B.R1 C.R2D.R1532、S3c2410港储控制器支

7、持大端、小端模式存储,可寻址 C 的空间A.1MB B.1TB C.1GB D.1B二、 指令解析1、LDR R0,R1;从R1寄存器指向的地址中取出一个字的数据,存储到R0寄存器中2、STR RQ R1, #8 ;将R0中的字数据写入R1为地址的存储器中,并将新地址R1 + 8写入R13、ADDS R1,R1,#1 ; R1+1 给 R14、LDMFD R13 R0, R4-R12 PC;将堆栈内容恢复到寄存器(R0, R4 到 R12, LR)。5、初始值R1=23H, R2=0FH执行指令BIC R0, R1, R2, LSL #1后,寄存器R0, R1的值分别是多 少? R0=21H,

8、 R1=23H, R2=1EH6、写一条ARM指令,完成操作r1 = r2 * 3(4分)add 12r2 LSL #17、说明指令STMIA r12!, r0-r11 的操作功能。(4分)将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。8、ADD R0 RQ #1;将R0+1的结果送R0是保存9、ADD R0 R1, R2;将以R2中的内容为地址的单元中的值与R1相加,结果送R0保存10、LDR RQ R1+4;指令实现的功能是将R1的内容加4后送R04. LDR RQ R1+4!;将R1的内容加4后送RQ然后R1

9、的内容自增4个字节5. B Lable ;程序无条件跳转到标号Lable处执行MOV R1 R0 ;指令实现的功能是将寄存器R0的值传送到寄存器R17. CMP R1 R0 ;寄存器R1的值与寄存器R0的值相减,根据结果设置CPSR勺标志位8. CMN R1 R0 ;将寄存器R1的值与寄存器R0的值相加,根据结果设置CPSR勺标志位9. ORR R0 RQ #3;该指令设置R0的0、1位,其余位保持不变10. MRS R0 SPSR ;传送 SPSR勺内容至U R011. CMP R1 R2 ;寄存器R1的值与寄存器R2的值相减,根据结果设置CPSR勺标志位12. MRS R0CPSR;传送

10、SPSR勺内容至U R013. MOV R2 R0;将寄存器R0的值传送到寄存器R214. ADD R1, R1, #3;将R1+3的结果送R1是保存15. ADD R2 R1, R0;将以R0中的内容为地址白单元中的值与R1相力口,结果送R2保存16. LDR R1, R0+4; 将 R1 的内容力口 4后送 R017. LDR R1, R0+4!;将R1的内容加4后送RQ然后R1的内容自增4个字节。18. AND R0 RQ #3;保持R0的0、1位,其余位清零19. B 0x1200;程序无条件跳转到0x1200处执行20. CMN R1 R2 ;将寄存器R1的值与寄存器R2的值相加,并

11、根据结果设置CPSR的标志位三、 看图回答1、下图是ARM9处理器的当前程序状态寄存器,请简单说明各位的功能。NZCVIFTM4M3M2M1M031 30 29 28 278 7 6 5 4 3 2 1 0ARM71前程序状态寄存器N:负标志位,运算结果的第31位值,记录标志设置的结果。Z:零标志位,如果标志设置操作的结果为0,则置位。C:进位标志位,记录无符号加法溢出,减法无错位,循环移位。V:溢出标志位,记录标志设置操作的有符号溢出。I:中断禁止标志位,置位时禁止IRQ中断,否则允许IRQ中断使能。F:中断禁止标志位,置位时禁止FIQ中断,否则允许FIQ中断使能。T:控制位,置位时处理器运

12、行在Thumb状态下,清零时处理器运行在ARM状态下M0M4:模式控制位,定义处理器的7中模式。其余位为保留位,留作将来使用。2、阅读下列与看门狗有关的寄存器描述,解释每一行代码的功能。看门狗定时器控制寄存器(WTCON)寄存器地址读,写描述初始值WTCON0x()3000000读,写看1狗定控制寄存器0x8021WTCON的标识位WTCONBit描述初始值Prescaler Value15:8预:比例值,有效范围值为02皈80Reserved7X5保100Watchdog Timer5使f0 :1 :和禁止看门狗定时器 ;禁止看门狗定时器 ,使能看门狗定时器04这L,位决定时钟分频因素Clo

13、ck Select4::3001/1601:1/3200101/6411:1/128中E日的禁止和使能Interrupt Generation 20-,止中断产生01 “能中断产生Reserved1保f0Reset0Enable/Disable禁10很使能看门狗复位信号的输出音门狗复位信号使能1卜门狗复位信号禁止看门狗定时器数据寄存器(WTDAT)寄存器地址读/写描述初始值WTDAT0x()3000004读/写看11狗数据寄存器0x8000看门狗计数寄存器(WTCNT)寄存器地址读/写描述初始值WTCNT0x()3000008读/写看1狗计数器当前值0x8000#define rWTCON (

14、volatile unsigned *)0x53000000)皖 1 行#define rWTDAT(volatile unsigned *)0x53000004) /S2亍#define rWTCNT (volatile unsigned *)0x53000008)确 3行void watchdog_test(void)(rWTCON = (PCLK/1000000-1)8)|(33)|(12);/ 第4行rWTDAT = 7812;第 5行rWTCNT = 7812;/ 第 6行rWTCON |=(10答:ffiflSUBRDIVn = (int)(PCUC/ (bps x 卜15分寄存器

15、 UBRD1VU= (int)(4000(X)(XV2400* 16)-1 = 1040= 10000010000(B)5 分寄存器 UBRDIV 1=( int)(4(KXXX)(X)/115200* 16)-1 =20= 101(X)(B)5 分4、ARM9TDMI中的T、D、S、I分别表示什么含义?答:T表示支持16位Thumbf令集,D表示 在片可调式(Debug ),M表示内嵌乘法器Multiplier , I表示嵌入式ICE ,支持在线断点和调试。4、ARM处理器模式和ARM处理器状态有什么区别?答:(1) ARM7T ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式

16、、中断模式、管 理模式、中止模式、未定义模式和系统模式。(2) ARM 处理器状态:ARM状态、Thumb状态。(3)两种处理器状态都有这7种处理器模式;两个状态之间切换并不影响处理器模式或寄存器内容。5、ARM9TDMI有几种寻址方式?答:立即寻址寄存器寻址基地址变址寻址寄存器偏移寻址寄存器间接寻址多寄存器寻址6、ARM9的内部寄存器R13、R14 R15的主要功能和作用?R”:母极指针,用于保存堆栈的出入口处地址.保存恃使用寄右器的内容R14:连揍*存甥,当使用EL指如脚出/程序时,返回地址将自动存入14中:当发生异常时.将RI4对应的计常校式版本设置为异常返回地坪:其他时帆作为通用寄存器

17、.R15:程序寄存牌.总是指向正在一取指”的指令11、ARM9TDMI支持的数据类型有几种?各有什么要求?答:ARM9TDM支持的数据类型有字节色位),半字(16位)及字(32位)数据类型.字必须是 四字节边界对齐,半字必须是两字节边界对齐“12、ARM920T体系结构支持哪两种方法存储字数据?答;ARM920T体系结构支持两种方法存储字数据即大端格式和小端格式.在大端格式中,字数据的高字节存储在低地址单元中,而字数据的低字节则存放在高地 址单元中.在小端存储格式中,低地址单兀中存放的是字数据的低字节,高地址单元存放的是字数 据的高字节.18 .画出采用 大端 格式存放01020304H的存储

18、器示意图局地址 iI低地址19 .画出采用小丸格式存放05060708H的存储器示意图高地址低地址20、用ARM匚编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配 假定低32位数存放在r0和r1里面,高32位数存放在r2和r3里面。答:加法:ADDS r0, r0, r1/加S是因为要让这个操作影响标志位ADC r2, r2, r3 /ADC是带进位的加法,如果上一条指令产生进位则一起加进来减法:SUBS r0, r0, r1/仇口 S是因为要让这个操作影响标志位1) SBC r2, r2, r3/ SBC是带进位的减法指令23、ARM处理器内核是如何进行异常处理的?答:1

19、)当异常产生时,AR岫核拷贝CPS副SPSR_mode较置适当的CPSR&:改变处理器状态 进入ARMS,改变处理器模式进入相应的异常模式,设置中断禁止位禁止相应中断(如果需要);保存返回地址至|J LR_设置PC为相应的异常向量。2)返回时,异常处理需要从SPSR_恢复CPSR从LR_mod故复PC注意:这些操作只能在AR做执行。26、简述卜C/OS-II操作系统的移植条件。答:要使c/os-ii能正常运行,处理器必须满足以下要求。(1)处理器的c编译器能产生可重入代码可重入代码是指可以被多个任务同时调用,而不会破坏数据的一段代码;或者说代码具有在执 行过程 中打断后再次被调用的能力。(2)

20、处理器支持中断,并且能产生定时中断arm处理器支持中断并能产生定时中断。审存器_Jtiuarm处理器核包含一个cpsr寄存器,该寄存器包括中断。(4)处理器支持一定数量的数据存储硬件堆栈ca断拿4位,控制它打开和关闭 cache大仃啼犷主存储器 辅助存储器辅助存储器(3) c语言可以开/关中断对于一些只有10艮地址线的8位控制器,芯片最多可访问1kb存储单元,在这样的条件下移植是比较困难的。(5)处理器有将堆栈指针以及其他cpu寄存器的内容读出并存储到堆栈或内存中去的指令arm处理器中汇编指令stmfd可以将所有寄存器压栈,对应的也有一个出栈指令ldmfd。29、在进行基于ARMR的嵌入式系统

21、软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么方式从调用程序传入被调函数?根据ATPCS编程规范,调用函数和子程序通过R0-一R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入,arg2,通过R1传入,arg3通过R2传入,arg4通过R3传入 四、 编程题1 .用汇编语言编写程序读取存储器0x400031001ft址上的数据,将数据加1,若结果小于10则使用STR 指令把结果写回原地址,若结果大于等于10,则把0写回原地址。COUNTEQU0x40003 1

22、00 ;定义一个变景,地址为AltEA ExampleiraDE.RbADON LY 声明代码段 ExampllENTRY;标识程序入UUODE32;声明32位ARM指令STARTLOOPLDRR1,=COUNT ; RI = COUNTMOVR00; Rt) = 0STK RO+R1|;1R.I=RO,即设置 COUNT 为 0LDRR1,=COUNTLDRROJEIIJ;RO=R1ADD R0,R0l ;RO=RO + 1CMPR0,#10;R。.与10比较*塔响条件向标志MOVHS RO.ffl;片Rf)大于等于10,则此指令桃行,R0=0STR R0JR1; RI=ROt 即保存COU

23、NTB LOOPEND2、用汇编语言调用C语言实现n个数相加,n为C函数的参数,由汇编语言传递,结果存放在R5寄存 器中。C程序:C程序:int aJlEunXim n)(inti;ini nKum J 0;州um 2 i;)return nsum;汇编程序:司第即凫AREA sctIIcth CODEhREADONLYIMPORT BlljiumEKPORTscc entryMOVRO 阳(IBL aJhrnnMOV R5HoHALT B HALT END6、大(小)端地址模式:占多字节的数据在存储时,如果高位字节存在低地址(首地址),称大端地址模式;如 果低位字节存在低地址(首地址),称小

24、端地址模式。一.简答题1、简述冯?诺依曼结构与哈佛结构,并指出日常生活中的Intel处理器属于哪种结构。答:冯诺依曼结构:将数据和指令都存储在存储器中的计算机。计算系统由一个中央处理单元(CPU)和一个存储器组成。存储器拥有数据和指令,并且可以根据所给的地址对 它进行读或写。哈佛结构:为数据和程序提供了各自独立的存储器。程序计数器只指向程序存储器而不指向数据存储器2、与通用计算机相比,嵌入式系统有哪些特点?答:嵌入式系统同通用型计算机系统相比具有以下特点:1)嵌入式系统是面向特定应用的。2)嵌入式系统是将 先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。3)嵌入式系统

25、的硬件和软件 都必须高效率地设计。4)嵌入式系统具有较长的生命周期。5)嵌入式系统中的软件一般都固化在存储器芯片或 单片机本身中,而不是存贮于磁盘等载体中。6)嵌入式系统本身不具备自举开发能力,必须有一套开发工具和环 境才能进行开发。5、简述采用RISC架构的ARM:处理器的特点。答:采用RISC架构的AR搬处理器一般具有如下特点:1)体积小、低功耗、低成本、高性能;2)支持Thumb(16 位)/ARM (32位)双指令集,能很好的兼容8位/16位器件;3)大量使用寄存器,指令执行速度更快;4)大多 数数据操作都在寄存器中完成;5)寻址方式灵活简单,执行效率高;6)指令长度固定;11、简述C

26、/OS-n操作系统的移植条件答:要使wC/OS-n正常运行,处理器必须满足5个要求:a)处理器的C编译器能产生可重入型代码;b)处理器支 持中断,并且能产生定时中断;c)用C语言就可以开/关中断;d)处理器能支持一定数量的数据存储硬件堆栈;e) 处理器有将堆栈指针以及其它CPU?存器的内容读出,并存储到堆栈或内存中去的指令。12、简要说明嵌入式操作系统多任务通讯的常用方式。答:多任务通讯的方式:a)共享内存,主要是数据的共享;b)信号量,用于基本的互斥和任务同步;c)消息队列 和管道,单CP必消息彳专送;d)Socket和远程过程调用,用于网络间任务消息传送。13、描述嵌入式系统方案设计和执行

27、项目过程中的五个主要工作步骤。答:系统规划、系统设计、系统实现、系统测试、系统调试五、论述题1、嵌入式发展到今天,对应于各种微处理器的硬件平台都是通用的、 固定的;各种相应的软件比较成熟,模块化 程度比较高;因此,当今的开发过程更多的注重开发流程,合理、科学的开发流程往往可以达到事半功倍的效果。 假设你现在某从事嵌入式产品开发的公司工作,被要求开发一通用的数字电视接收控制器,即通常所说的“机顶 盒”,对于机顶盒的开发,请你结合嵌入式系统的设计流程叙述一下将采取的设计开发流程。(整个流程需包括从产品定义到产品测试和发布)答:嵌入式系统设计过程:(1)系统定义与需求分析(2)系统设计方案的初步确立

28、(3)初步设计方案性价比评估与方案评审论证(4)完善初步方案、初步方案实施(5)软硬件集成测试(6)系统功能性能测试及可靠性测试102、利用ARM旨令编写一程序求取1+2+3+ + 100的累加和,要求求累加和用子程序实现。(累加数据个数存入R0 中,累加结果存R1中;R2作为子程序入口参数,R3作为出口参数。)答:AREA gainsum, CODE READONLYENTRYCODE32(1分)START MOV R0 #100MOV R2 , R0(0.5分)BL G_SUM(1分)MOV R1,R3(0.5分)LOOP B LOOPG_SUM MOV R3,#0(2分)LOOP1 AD

29、D R3,R3,R2SUBS R2,R2,#1BNE LOOP1MOV PC,LR(1分)END3、用ARM匚编语言编程实现函数:8X= 1Y= 5X+31X= 10又Y为32位无符号二进制整数,其中X、Y分别存储在以X_DATAfl Y_DAT网首地址的4个存储单元中。答:AREA g_function , CODE READONLYENTRYCODE32(1分)START ADR R0 =X_DATALDR R1 , R0(1分)CMP R1,#1BHI LOOP1MOV R2,#8(1分)B FINLOOP1 CMP R1,#10BHS LOOP2MUL R2,R1,#511ADD R2

30、,R2,#3(1分)B FINLOOP2 MOV R2,#53(1分)FIN ADR R0 , =Y_DATASTR R2,R0(1分)HERE B HEREEND2 .谈一谈嵌入式系统的发展趋势(列出五个趋势以上)。答:产品种类不断丰富;应用范围不断普及;性能不断提高;功耗不断降低,体积不断缩小;网络化、智能化程度不断提高;软件成 为影响价格的主要因素。3 .简述嵌入式微处理器的特点。答:嵌入式微处理器的特点:通用微处理器的增强,一般为32位。(1分)构成:一般CPU存储器、I/O接口三者分离;(1分)性能:一般为1002000MIPS (1分)存储器:Flash 一般为116MB SDRA

31、Mj殳为264MB (1分)一般加载复杂嵌入式操作系统:VxWorks WinCE Qlinux等。(1分)6 .从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,并写出各部分所完成的功能。答:(1)硬件层;(2)中间层(嵌入式系统初始化,硬件相关的驱动程序);(3)软件层(操作系统、文件系统、GUI,网络及通用组件); (4)功能层。8 . Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过 Boot Loader,初始化硬件设备,建立 内存和I/O空

32、间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。9 .简要说明看门狗电路的作用和原理答:作用:看门狗定时器是一个用来引导嵌入式微处理器脱离死锁工作状态的部件。 能够在一个指定的间隔时间后复位微控制器或者 微处理器。原理:系统启动后,初始化程序想看门狗的计数寄存器写入计数初值,此后每经过一个预订的时间间隔看门狗执行一次技术 (减 1或加1)。如果软件与设备正常工作,那么看门狗的计数寄存器中设定的计数值满之时(即-1 ,也就是二进制的计数值为全1),系统 程序就会重置看门狗寄存器的计数初值,让它继续计数,并且一直循环下去。第五题:分析设计题1 .写一条ARM指令,完成操作r1 = r2 * 4解:MOV R1,R2,LSL #22 .初始值R2=5, R3=4, R4=3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论