嵌入式练习题_第1页
嵌入式练习题_第2页
嵌入式练习题_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、1. 什么是嵌入式系统?其特点有些什么?答: 嵌入式系统是以应用为中心,以计算机技术为根底,并且软硬件可裁剪,适用于应用系 统对功能、可靠性、本钱、体积、功耗有严格要求的专用计算机系统。特点:( 1)通常是面向特定应用,低功耗、体积小、集成度高;(2) 是技术密集、资金密集、高度分散、不断创新的知识集成系统;(3) 软硬件必须高效率地设计,根据应用需求量体裁衣,去除冗余;(4) 与具体应用有机结合,具有较长的生命周期;(5) 为提高执行速度和系统可靠性,软件一般固化在存储器芯片或单片机本身中;(6) 本身不具备自举开发能力,必须有一套开发工具和环境才能进行开发。2. 嵌入式系统的 BooTLo

2、ader 的功能是什么?答: BooTLoader 是系统加电后 , 操作系统内核或用户应用程序运行之前, 首先必须运行的一 段程序,即引导加载程序。通过这段程序 , 为最终调用操作系统内核、运行用户应用程序准 备好正确的环境。3. 什么是嵌入式操作系统?为何要使用嵌入式操作系统? 答:嵌入到对象体系中的专用计算机应用系统。4. 目前嵌入式操作系统有哪些?答:(1) Windows CE (2) VxWorks (3) pSOS( 4) QNX( 5) Palm OS (6)嵌入式 Linux5. 构造嵌入式开发环境有哪几种形式?答:( 1)交叉开发环境(2)软件模拟环境( 3)评估电路板6.

3、 嵌入式系统开发的根本流程 ?答:( 1)系统定义与需求分析( 2)规格说明( 3)系统结构设计( 4)构件设计( 5)系统集成7. 什么是可编程片上系统?答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统 PSOC它是一种特殊的嵌入式系统,首先它是 SOC即由单个芯片实现整个系统的主要逻辑功能,具有一 般SOC根本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可 裁剪、可扩充、可升级等灵活的设计方式。8. 有时要使用Thumbs术的原因?答:16位Thumb旨令集是32位ARM旨令集的子集,用16位代码密度的指令获得 32位处理器的性 能既节省存储空间及本钱,

4、又不降低处理性能 ,低功耗,小体积,低本钱。9. ARM处理器的工作模式有哪几种?答:用户模式,系统模式,管理模式,中止模式,未定义模式,IRQ模式,FIQ模式10. 存放器R13, R14, R15的专用功能各是什么?答:R13存放器的作用通常是堆栈指针,SP;R14用作子程序链接存放器,LR;R15的功能是程序计数器,PC。11. 存放器CPSR SPSR勺功能各是什么?答:1 CPSR存放器称为当前程序状态存放器,又称R16,在所有处理器模式下 CPSR都是同一个物理存放器,保存了程序运行勺当前状态。包括各种条件标志、中断禁止/允许位、处理器模式位以及其它状态和控制信息。2在每种异常模式

5、下都有一个对应的物理存放器一一程序状态保存存放器SPSR当异常出现时,SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。12. PC和LF分别使用哪个存放器?答:PC使用R15, LR使用R1413. ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?答:1复位异常, 管理模式 ; 2未定义指令异常, 未定义模式 ;3软件中断SW异常,管理模式;4 指令预取中止异常,中止模式; 5 数据访问中止 Data Abort 中止模式 ;6外部中断请求 IRQIRQ 模式; 7快速中断请求 FIQ FIQ 模式。异常返回指令:1SWI,未定义的返回: MOVS P

6、C,R142数据中止返回并重新存取: SUBS PC,R14,#83IRQ,FIQ, 预取中止的返回: SUBS PC,R14,#414. 什么是小端和大端存储器组织?答:1小端存储系统中, 字的地址对应该字最低有效字节所对应的地址;半字的地址对应 该半字最低有效字节所对应的地址 2大端存储系统中, 字的地址对应该字最高有效字节所对应的地址; 半字的地址对应 该半字最高有效字节所对应的地址15. 什么是数据的边界对齐?答:默认情况下,ADS编译器使用的是数据类型的自然边界对其方式。数据的自然对其方式 是指:如果该数据类型是 n个字节的,那么该数据类型就按n字节对齐。16. ARM核现在有哪几种

7、?答: ARM7、 A R M 9、 A R M 9E、 A R M 1 0E ,、 SecurCore 、StrongARM、Xscale17. ARM的寻址方式有哪些?各写一条说明。答: 1 立即寻址: ADD R6, 存放器寻址: ADD R2, R3,R6, #128 ;R6=R6+128(2)R5 ;R2=R3+R5(3)(4)存放器移位寻址: ADD R0,存放器间接寻址: LDR R6,R1, #3 ;R0=R1+8*R2R7 ;R6=R7(5)变址寻址: LDR R2, R3, #128 ;R2=R3+128LDR R2, R3 , #4! ;R2=R3+4,R3=R3+4LD

8、R R2,R3,#4 ;R2=R3,R3=R3+4多存放器寻址:LDMIA R2, R3, R5, R7 ;R3=R2,R5=R2+4,R7=R2+8(6)(7) 堆栈寻址: STMFD SP! R1-R7, LRLDMFD SP! R1-R7,LR8)块拷贝寻址:LDMIA R0!R2-R9STMIA R1 , R2-R9(9)相对寻址18. 在AR的立即寻址方式下其立即数如何在指令编码中表示?答:在ARM数据处理指令中,当参与操作的第二操作数为立即数型时,每个立即数都是采用一个 8 位的常数循环右移偶数位而间接得到。 其中循环右移的位数由一个4 位二进制的两倍表示,如果立即数记作 <

9、immediate> , 8位常数记作 immed_8, 4 位的循环右移值记 作 rotate_imm ,有效的立即数是由一个 8 位的立即数循环右移偶数位得到。因此有效 立即数 immediate 可以表示成: <immediate>=immed_8 循环右移(2X rotate_imm )19. 指令ADR ADRL LDR NO是如何处理地址值读入到存放器中的?答:ADR是将基于PC或者存放器的地址值读入到存放器的,ADR伪指令通常被替换成一条 ADD指令或SUB指令来实现该 ADR指令的功能;而ADRL伪指令与ADR指令的最大不同之处 是,它可以读取更大范围内的地址

10、 ,而且被编译器替换成2条数据处理指令;LDR将一个32位的立即数或者一个地址值读取到存放器中,大范围的地址读取;NOP在汇编时将被替换成ARM中的空操作。20. 指令LDR R1,=0xFFF是如何将立即数Oxfff读入到R1的?答:由于需要读取的存放器的数据超过了MOV及MVN指令可操作的范围,编译器将该常数放在数据缓冲区中,同时用一条基于PC的LDR指令读取该常数。LDR R1, PC, offset_to_LPOOLLTORG ; 声明数据缓冲池LPOOL DCD OxFFF ; OxFFF放在数据缓冲池中。21. 如何在c语言程序中内嵌汇编?答:内嵌的汇编指令包括大局部的ARM!令和

11、Thumb旨令,但是不能直接引用 C勺变量定义,数据交换必须通过ATPC进行。嵌入式汇编在形式上表现为独立定义的函数体22. 如何在汇编语言程序访问 C语言的全局变量?答:汇编程序可以通过地址间接访问在C语言程序中声明的全局变量。通过使用IMPORT关键词引人全局变量,并利用LDR和STR指令根据全局变量的地址可以访问它们。对于不同类型的变量,需要采用不同选项的LDR和 STR指令,如下所示:1)unsignedchar LDRB/STRB2)unsignedshort LDRH/STRH3)unsignedint LDR/STR4)char LDRSB/STRSB5)Short LDRSH/

12、STRSH23. 在C语言程序如何调用汇编语言程序?答:为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS在汇编程序中需要使用EXPORTS操作来声明,使得本程序可以被其它程序调用。同时,在C程序调用该汇编程序之前需要在 C语言程序中使用 extern关键词来声明该汇编程序。24. 汇编语言程序调用C语言程序?答:为了保证程序调用时参数的正确传递,汇编程序的设计要遵守ATPCS在C程序中不需要使用任何关键字来声明将被汇编语言调用的C程序,但是在汇编程序调用该 C程序之前需要在汇编语言程序中使用IMPORT伪操作来声明该 C程序。在汇编程序中通过BL指令来调用子程序。25. 在嵌入

13、式C语言程序设计中为提高程序效率的相关设计技巧。 答:变量定义;参数传递;循环条件;以空间换时间;数学方法解决问题;使用位操作;嵌入汇编。 操作系统的内核、文件系统、编程接口等。 P192 P201 25. 嵌入式 Linux 操作系统的特点。 答:广泛的硬件支持、内核高效稳定、开放源码,软件丰富、优秀的开发工具、完善的网络 通信和文件管理机制。CE 操作系统及其特点。答:Windows CE是一个32位、多任务、多线程的操作系统,其开放式的设计结构适用于各 种各样的设备,其主要特点:CE 是一种压缩并可升级的软件系统,即使在小内存条件下,也能提供较高的性能;CE 具有便于携带的优点,可以运行

14、于多种微处理器上;CE 拥有很好的电源管理系统,能延长移动设备的电池寿命;CE支持标准的通讯系统,可以非常方便地访问In ternet ,发送和接受电子邮件,浏览万维网。27. 程序解释(1)AREA COPYBS,CODE,READONL定义一个代码段ENTRY ;程序入口LDR RO,=SRC;取得原数据表的表头LDR R1,=DST ;取得目标数据表的表头MOV R2,#20 ; R4作为循环控制BCOPY MOVS R3,R2,LSR,#3 ;R3=R2 <<3 逻辑右移 3位BEQ CWORD 假设 Z=1,跳转到 CWORDOCOPY LDMIA R0!,R4-R11;

15、加载R0指向的地址上的多字数据,保存到 R4R1仲,R0值更 新STMIA R1!,R4-R11;将R4-R11的数据存储到 R1指向的地址上, R1值更新SUBS R3,R3,#1 ; R3=R3-1BNE OCOPY 假设 Z=0,跳转至U OCOPYCWORD AND R2,R2,#7; R2=R2&7BEQ STOP;假设 Z=1,跳转至U STOPWCOPY LDR R3,R0,#4 ;将只3中的字数据读入以 R0为地址的存储器中,并将新地址 R0+4写 入R1STR R3,R1,#4 ;将只3中的字数据写入以 R1为地址的存储器中,并将新地址R1+4写入R1SUBS R2,

16、R2,#1 ; R2=R2-1BNE WCOPY 假设 Z=0, 跳转到 WCOPYSTOP (2)在程序中常常需要根据一定的参数选择执行不同的子程序。 跳转表中存放的是各子函数的地 址,选择不同的子程序的参数是该子程序在跳转表中的偏移量。在本例中R3存放器中存放的是跳转表的基地址(首选地址,其中存放的是第一个子程序的地址)。R0存放器的值用于选择不同的子程序;当 R0为0时,选择的是子程序 DoAdd;当R0为1时,选择的是子程序 DoSubb 在ADS编译环境程序如下:AREA Jump, CODE, READONLY 设置本程序的名称及属性NUM EQU 2;跳转表中的子程序个数ENTR

17、Y;程序执行的入口点Start MOV R0,#0;设置3个参数,RC选择调用哪个子程序MOV R1,#3 ; R伪子程序要用的参数MOV R2,#2 ; R2为子程序要用的参数BL Func ;调用子程序Func,进行算术运算Stop MOV R0 ,#0x18 ;本条与下条指令的作用是参数传递LDR R1,=&20026SWI 0x123456 ;将CPU勺控制权交给调试器Func CMP R0, #NUM ;判断R0是否在有效范围之内MOVHS P,CLR ;如果超出范围那么程序返回ADR R3, JTable ;读取跳转表的基地址LDR PC【R3, R0, LSL #2】;根

18、据参数R0的值跳转到相应的子程序JTable DCD DoAdd ;当参数R0为0时上面的代码将选择 DoAddDCD DoSub ;当参数R0为1时上面的代码将选择 DoSubDoAdd ADD RQ R1, R2 ;子程序DoAdc执行加法操作MOV PC, LR ;子程序返回DoSub SUB R0, R1, R2 ;子程序DoSub执行减法操作MOV PC, LR ;子程序返回END ;结束汇编、简答题1 、什么是嵌入式处理器,嵌入式处理器可以分为几大类? 答:嵌入式处理器是为了完成特殊的应用而设计的特殊目的的处理器;分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系

19、统SOC。2、广泛使用的三种类型的操作系统? 答:多道批处理操作系统、分时操作系统以及实时操作系统。3、ARM!什么样的公司?答:它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC处理器。特点是只设计芯片,而不生产。 它将技术授权给世界上许多著名的半导体、软件和 OEMT商,并提供效劳。4、什么是RISC?什么是CISC?答:RISC是精简指令集计算机的缩写,CISC是复杂指令集计算机的缩写5、ARM处理器采用什么样的体系结构,其可寻址地址空间多大?答:ARM处理器采用冯.诺依曼体系结构,寻址空间为4GB勺8位字节寻址空间1GB勺32位字 寻址空间6、ARM处理器采

20、用几级流水线处理,使用何种存储器编址方式? 答:ARM处理器采用RISC五级整数流水线结构7、ARMi理器模式和ARMt理器状态有什么区别? 答:ARM理器模式指用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模 式和系统模式;ARM处理器状态指ARM状态和Thumb犬态8、ARM内部存放器特点?答:ARM处理器内部共有37个32位的存放器,其中31个用作通用存放器,6个用作状态存放 器,每个状态存放器只使用了其中的12位。9、请说明M0指令与LDF加载指令的区别和用途?答:LDR的操作数既可以来源于存放器也可以来源于存储器,MOV的操作数能来源于存放器;LDR指令从内存中读取数据放

21、入存放器,用于对内存变量和数据的访问、查表、程序的跳转、外围部件的控制操作等;MOV指令将8位立即数或存放器传送到目标存放器Rd,可用于移位运算等操作。10、 ARM9微控制器内FLASH是多少位宽度的接口?它是通过哪个功能模块来提高FLASH勺访 问速度?11、FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?答:FIQ是快速中断,具有最高优先级,中断处理转入FIQ模式;IRQ是普通中断,优先级低于FIQ,中断处理转入IRQ模式。向量IRQ支持16个向量IRQ中断,16个优先级,能为每个中断源设置效劳程序地址; 非向量IRQ支持一个非向量IRQ中断,所有中断都共用一个相同的效劳程

22、序入口地址。12、什么是嵌入式处理器的最小系统? 答:最小系统是指提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成的系 统。13、嵌入式处理器的最小系统包含那些根本电路?答:最小系统包含时钟系统、供电系统、复位及其配置系统、存储器系统可选、调试测试系统可选 。根本电路包括:末级电源电路、前级电源电路、 时钟电路、 复位电路、程序存储器 可 选、调试接口电路可选 。二、问答题1、ARM支持哪几种指令集,各有什么特点? 答:支持ARM旨令集和Thumb指令集两种。ARM指令集:指令32位,效率高,代码密度低,所有 ARM指令都是可以有条件执行的。Thumb旨令集:指令16位,代码密度较

23、高,Thumb旨令仅有一条指令具备条件执行功能。保持 ARM的大多数性能上的优势,是 ARMt令集的子集。2、ARMT几种处理器模式,简单介绍该几种模式的工作特点? 答:用户模式:正常程序运行的工作模式,不能直接从用户模式切换到其它模式系统模式:用于支持操作系统的特权任务等,可以直接切换到其它模式 管理模式:供操作系统使用的一种保护模式,只有在系统复位和软件中断响应时,才进入此模式。中止模式:用于虚拟内存和 /或存储器保护。未定义模式:支持软件仿真的硬件协处理器,只有在未定义指令异常响应时,才进入此 模式。快中断模式:用于快速中断处理,支持高速数据传输及通道处理,只有在FIQ异常响应时,才进入

24、此模式。中断模式:用于通用中断处理,只有在IRQ异常响应时,才进入此模式。3、什么是引导程序?什么是启动程序?两者有什么区别?答:引导程序是 ARM微处理器在上电或复位后首先运行Boot Block中的一段代码;启动程序是在运行引导程序后,正式运行用户main函数之前,还需要运行一段代码引导程序由芯片厂商固化在芯片中,功能包括:判断运行哪个存储器上的程序、检查用户代码是否有效、判断芯片是否被加密、芯片的在应用编程IAP以及在系统编程功能ISP。 启动程序由用户添加,功能包括:向量表定义、堆栈初始化、系统变量初始化、中断系统初 始化、I/O初始化、外围初始化,地址重映射等操作。4、试比拟说明JA

25、TG工具和ISP工具的异同点? 答:两者都可以将程序下载到开发板上,JATG通过计算机的并口和开发板的JATG 口下载程序;ISP通过计算机的串口和开发板的UART0下载程序。5、下列图是ARM处理器的当前程序状态存放器,请简单说明各位的功能。31 30 29 28 27876543210NZCVIFTM4M3M2M1M0ARM当前程序状态存放器N:负标志位,运算结果的第31位值,记录标志设置的结果。Z:零标志位,如果标志设置操作的结果为0,那么置位。C:进位标志位,记录无符号加法溢出,减法无错位,循环移位。V:溢出标志位,记录标志设置操作的有符号溢出。I :中断禁止标志位,置位时禁止IRQ中

26、断,否那么允许IRQ中断使能。F:中断禁止标志位,置位时禁止FIQ中断,否那么允许 FIQ中断使能。T:控制位,置位时处理器运行在Thumb状态下,清零时处理器运行在ARM犬态下。M0M4模式控制位,定义处理器的7中模式。其余位为保存位,留作将来使用。6、下列图是ARM系统内部的存储器加速模块 MAM连接结构示意图,试针对该示意图说明 MAM 如何实现存储器加速功能。答:存储器加速模块中 Flash存储器可以存放 4个32位ARM旨令或8个16位Thumb指令, 它们被分成两组,轮番工作,及时的为 CPU提供需要的指令和数据,以防止 CPU取指暂停。程序顺序执行时,一个 Flash组包含当前正

27、在取指的指令和包含该指令的整个Flash行,而另一个Flash组那么包含或正在预取指下一个连续的代码行。程序出现分支时,在预取指缓存区中保存着将要执行的指令,在分支跟踪缓存区中保 存着程序跳转后可执行到的指令。程序获取数据时,如果数据不在MAM勺数据缓冲区,那么 MAM会执行一次Flash读操作,把一个128位的数据行存入数据缓冲区,这样就加快了按顺序访问数据的速度。7、下列图是ARM系统存储器映射图,试对该映射图进行简单的描述说明。4.0GB3.75GB3.5GB3.0GB2.0GB1.0GB0.0GB2MB AHB外设_保存2MB VPB外设-保存给片外存储器-16MB Bank316MB Bank216MB Bank116MB BankO8KB Boot Block (片内ROM存储器重映射)保存给片内RAM存储器16KB片内静态RAM保存给片内FLASH存储器256KB片内非失忆性存 储器(LPC2124/2214 )128KB片内非失忆性存 储器(LPC2114/2212 )ARM系统存储器映射0xFFFF FFFF0xF000 00000xE000 00000xC000 00000x8

温馨提示

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

评论

0/150

提交评论