教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

嵌入式练习题1,2

来源:网络收集 时间:2026-05-24
导读: 1. 什么是嵌入式系统?其特点有些什么? 答:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 特点:(1)通常是面向特定应用,低功耗、体积

1. 什么是嵌入式系统?其特点有些什么?

答:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 特点:(1)通常是面向特定应用,低功耗、体积小、集成度高; (2)是技术密集、资金密集、高度分散、不断创新的知识集成系统; (3)软硬件必须高效率地设计,根据应用需求量体裁衣,去除冗余; (4)与具体应用有机结合,具有较长的生命周期;

(5)为提高执行速度和系统可靠性,软件一般固化在存储器芯片或单片机本身中; (6)本身不具备自举开发能力,必须有一套开发工具和环境才能进行开发。 2. 嵌入式系统的BooTLoader的功能是什么?

答: BooTLoader是系统加电后,操作系统内核或用户应用程序运行之前,首先必须运行的一段程序,即引导加载程序。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。

3. 什么是嵌入式操作系统?为何要使用嵌入式操作系统? 答:嵌入到对象体系中的专用计算机应用系统。

4. 目前嵌入式操作系统有哪些?

答:(1)Windows CE(2)VxWorks(3)pSOS(4)QNX(5)Palm OS(6)嵌入式Linux 5. 构造嵌入式开发环境有哪几种形式?

答:(1)交叉开发环境 (2)软件模拟环境 (3)评估电路板 6. 嵌入式系统开发的基本流程? 答:(1)系统定义与需求分析

(2)规格说明 (3)系统结构设计 (4)构件设计 (5)系统集成 7. 什么是可编程片上系统?

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

殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。 8. 有时要使用Thumb技术的原因?

答:16位Thumb指令集是32位ARM指令集的子集,用16位代码密度的指令获得32位处理器的性能既节省存储空间及成本,又不降低处理性能 ,低功耗,小体积,低成本。 9. ARM处理器的工作模式有哪几种?

答:用户模式,系统模式,管理模式,中止模式,未定义模式,IRQ模式,FIQ模式 10. 寄存器R13,R14,R15的专用功能各是什么? 答:R13寄存器的作用通常是堆栈指针,SP;

R14用作子程序链接寄存器,LR; R15的功能是程序计数器,PC。

11. 寄存器CPSR,SPSR的功能各是什么?

答:(1)CPSR寄存器称为当前程序状态寄存器,又称R16,在所有处理器模式下CPSR都是同一个物理寄存器,保存了程序运行的当前状态。包括各种条件标志、中断禁止/允许位、处理器模式位以及其它状态和控制信息。

(2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR,当异常出现时,SPSR用于保存 CPSR的状态,以便异常返回后恢复异常发生时的工作状态。 12. PC和LR分别使用哪个寄存器? 答:PC使用R15,LR使用R14

13. ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?

答:(1)复位异常,(管理模式);

(2)未定义指令异常,(未定义模式); (3)软件中断(SWI)异常,(管理模式); (4)指令预取中止异常,(中止模式); (5)数据访问中止(Data Abort)(中止模式); (6)外部中断请求(IRQ)(IRQ模式); (7)快速中断请求(FIQ)(FIQ模式)。

异常返回指令:(1)SWI,未定义的返回:MOVS PC,R14;

(2)数据中止返回并重新存取:SUBS PC,R14,#8 (3)IRQ,FIQ,预取中止的返回:SUBS PC,R14,#4

14. 什么是小端和大端存储器组织? 答:(1)小端存储系统中,字的地址对应该字最低有效字节所对应的地址;半字的地址对应该半字最低有效字节所对应的地址

(2)大端存储系统中,字的地址对应该字最高有效字节所对应的地址;半字的地址对应该半字最高有效字节所对应的地址 15. 什么是数据的边界对齐?

答:默认情况下,ADS编译器使用的是数据类型的自然边界对其方式。数据的自然对其方式是指:如果该数据类型是n个字节的,那么该数据类型就按n字节对齐。 16. ARM核现在有哪几种?

答:ARM7、 ARM9、ARM9E 、ARM10E,、SecurCore、StrongARM、Xscale 17. ARM的寻址方式有哪些?各写一条说明。 答:(1)立即寻址:ADD R6,R6,#128 ;R6=R6+128 (2)寄存器寻址:ADD R2,R3,R5 ;R2=R3+R5

(3)寄存器移位寻址:ADD R0,R1,R2.LSL#3 ;R0=R1+8*R2 (4)寄存器间接寻址:LDR R6,[R7] ;R6=[R7] (5)变址寻址:LDR R2,[R3,#128] ;R2=[R3+128] LDR R2,[R3,#4]! ;R2=[R3+4],R3=R3+4 LDR R2,[R3],#4 ;R2=[R3],R3=R3+4

(6)多寄存器寻址:LDMIA R2,{R3,R5,R7} ;R3=[R2],R5=[R2+4],R7=[R2+8] (7)堆栈寻址:STMFD SP! {R1-R7,LR} LDMFD SP! {R1-R7,LR} (8)块拷贝寻址:LDMIA R0!{R2-R9}

STMIA R1,{R2-R9} (9)相对寻址

18. 在ARM的立即寻址方式下其立即数如何在指令编码中表示?

答:在ARM数据处理指令中,当参与操作的第二操作数为立即数型时,每个立即数都是采用

一个8位的常数循环右移偶数位而间接得到。其中循环右移的位数由一个4位二进制的两倍表示,如果立即数记作,8位常数记作immed_8,4位的循环右移值记作rotate_imm,有效的立即数是由一个8位的立即数循环右移偶数位得到。因此有效立即数immediate可以表示成:=immed_8循环右移(2×rotate_imm) 19. 指令ADR,ADRL、LDR、NOP是如何处理地址值读入到寄存器中的?

答:ADR是将基于PC或者寄存器的地址值读入到寄存器的,ADR伪指令通常被替换成一条ADD

指令或SUB指令来实现该ADR指令的功能;而ADRL伪指令与ADR指令的最大不同之处是,它可以读取更大范围内的地址,而且被编译器替换成2条数据处理指令;LDR将一个32位的立即数或者一个地址值读取到寄存器中,大范围的地址读取;NOP在汇编时将被替换成ARM中的空操作。

20. 指令LDR R1,=0xFFF是如何将立即数0xfff读入到R1的?

答:由于需要读取的寄存器的数据超过了MOV及MVN指令可操作的范围,编译器将该常数放

在数据缓冲区中,同时用一条基于PC的LDR指令读取该常数。 LDR R1,[PC,offset_to_LPOOL] LTORG ;声明数据缓冲池

LPOOL DCD OxFFF ;OxFFF放在数据缓冲池中。 21. 如何在c语言程序中内嵌汇编?

答:内嵌的汇编指令包括大部分的ARM指令和Thumb指令,但是不能直接引用C的变量定义,

数据交换必须通过ATPCS进行。嵌入式汇编在形式上表现为独立定义的函数体 22. 如何在汇编语言程序访问C语言的全局变量?

答:汇编程序可以通过地址间接访问在C语言程序中声明的全局变量。通过使用IMPORT关

键词引人全局变量,并利用LDR和STR指令根据全局变量的地址可以访问它们。 对于不同类型的变量,需要采用不同选项的LDR和STR指令,如下所示: (1)unsigned char—— LDRB/STRB (2)unsigned short——LDRH/STRH (3)unsigned int——LDR/STR (4)char ——LDRSB/STRSB (5)Short——LDRSH/STRSH

23. 在C语言程序如何调用汇编语言程序?

答:为了保证程序 …… 此处隐藏:3714字,全部文档内容请下载后查看。喜欢就下载吧 ……

嵌入式练习题1,2.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/439338.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)