嵌入式系统课后习题及答案
(完整版)嵌入式系统课后答案马维华
第1章嵌入式系统概述1,什么是嵌入式系统嵌入式系统的特点是什么嵌入式系统概念:(1) IEEE对嵌入式系统的定义:用于控制,监视或者辅助操作机器和设备的装置.(2)一般定义:以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统.嵌入式系统的特点:(1) 专用的计算机系统(2) 必须满足环境要求(3) 必须能满足对象系统的控制要求(4) 是集成计算机技术与各行业应用的集成系统(5) 具有较长的生命周期(6) 软件固化在非易失性存储器中(7) 必须能满足实时性要求(8) 需要专用开发环境和开发工具2,简单分析几种嵌入式操作系统的主要特点,包括嵌入式Linux,Windows CE,uCOS II 及VxWorks.(1)嵌入式Linux:有多个主流版本,根据应用需求,性能略有差别.μCLinux是Linux小型化后,适合于没有MMU的微处理器芯片而裁剪成的操作系统,μCLinux保持了传统Linux操作系统的主要特性,包括稳定,强大的网络和文件系统的支持,μCLinux裁剪了大量的Linux内核以缩小尺寸,适合像512KB RAM,1MB Flash这样小容量,低成本的嵌入式系统.RT_Linux即能兼容通常的Linux,又能保证强实时性.(2)Windows CE:开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用.WinCE开发难度远低于嵌入式Linux,实时性略低,常用于手机,PDA等手持设备中.(3)uCOS II:结构小巧,抢先式的实时嵌入式操作系统,具有执行效率高,占用空间小,可移植性强,实时性能好和可扩展性能等优点.主要用于小型嵌入式系统.(4) VxWorks: 集成开发环境为Tornado,Vxworks因出现稍早,实时性很强,并且内核可极微(最小8K),可靠性较高等.通常应用在通信设备等实时性要求较高的系统中.第2章嵌入式处理器体系结构1,具体说明ARM7TDMI的含义,其中的T,D,M,I分别代表什么ARM7TDMI是ARM7处理器系列成员之一,采用V4T版本指令.T表示Thumb,该内核可从16位指令集切换到32位ARM指令集;D表示Debug,该内核中放置了用于调试的结构,支持片内Debug调试;M表示Multiplier,支持位乘法;I表示Embedded ICE ,内含嵌入式ICE宏单元,支持片上断点和观察点.2,ARMV4及以上版本的CPSR的哪一位反映了处理器的状态若CPSR=0x000000090,分析系统状态.CPSR=0x000000090表示当前处理器工作于ARM状态,系统处于用户模式下. CPSR的BIT5(T)反映当前处理器工作于ARM状态或Thumb状态.3,ARM有哪几个异常类型,为什么FIQ的服务程序地址要位于0x1C 在复位后,ARM处理器处于何种模式,何种状态ARM的7种异常类型:复位RESET异常,未定义的指令UND异常,软件中断SWI异常,指令预取中止PABT异常,数据访问中止DABT异常,外部中断请求IRQ异常,快速中断请求FIQ 异常.在有快速中断发生时,CPU从0x1C处取出指令执行.ARM复位后处于管理模式,工作于ARM状态.4,为什么要使用Thumb模式,与ARM代码相比较,Thumb代码的两大优势是什么为了兼容数据总线宽度为16位的应用系统,使用了ARM指令系统的一个子集Thumb指令系统.与等价的32位代码相比,Thumb指令集在保留32位代码优势时,大大节省了系统的存储空间.5,说明AMBA,AHB,ASB以及APB的英文全称及其含义.AMBA(Advanced Microcontroller Bus Architecture)即先进的微控制器总线体系结构,是ARM 公司公布的总线标准,这一标准定义了AHB,ASB,APB及AMBA共4种高性能的系统总线规范.AHB(Advanced High_performance Bus)先进的高性能总线,用于连接高性能系统组件或高宽带组件.它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟.ASB(Advanced System Bus)即先进的系统总线,用于连接高性能的系统模块.它支持突发数据传输.APB(Advacned Peripheral Bus)即先进的外围接口总线,是一个简单的接口.它支持低性能的外围接口,APB是用来连接系统的周边组件.6,简述MMU从虚拟地址到物理地址的转换过程和方法.虚拟地址到物理地址的转换过程:当ARM要访问存储器时,MMU先查找TLB中的虚拟地址表,如果ARM的结构支持分开的地址TLB和指令TLB,那么它在取指令时使用指令TLB,其它的所有访问类别使用数据TLB;如果TLB中没有虚拟地址的入口,则是转换表遍历硬件从存储在主存储器中的转换表中获取访问权限,一旦取到,这些信息放在转换TLB中,它会放在1个没有使用的入口处或覆盖1个已有的入口.虚拟地址到物理地址的转换方法:(1)确定1级页表的基地址.(2)合成转换表的1级描述符.(3)根据不同的1级描述符获取第2级描述符地址并找出第2级描述符.(4)将第2级页描述符指示的页基地址,与虚拟地址指示的页内偏移地址相加,得到相应页的物理地址,完成虚拟地址到物理地址的转换.第三章典型嵌入式处理器1,简述LPC2000系列微控制器的内部有哪些重要的外设组件向量中断控制器,外部存储控制器,I2C中行总线控制器,SPI同步接口控制器,UART串口控制器,定时器,AD转换器,CAN总线控制器,看门狗定时器等.2,S3C44B0X如何组织8,16,32位的存储器,地址线如何连接S3C44B0X不同宽度的存储器地址线连接方法.存储器地址引脚8位总线16位总线32位总线A0A0A1A2A1A1A2A3A2A2A3A4A3A3A4A5…………Am-1Am-1Am-2Am-33,说明I2C的数据有效性和起停条件.数据有效性:当SCL信号为高电平时,SDA上的数据传输有效,传输时高位在前,低位在后,每个字节长度限制为位,而每次传送的字节总数没有限制.满足启动条件后的第一个字节应为地址域.每一个字节有一个应答位.起停条件:启动条件,在SCL信号保持高电平时SDA信号由高电平变为低电平;停止条件,要求在SCL信号保持高电平时SDA信号由低电平变为高电平.4,简述A T91FR40162处理器的特点.AR91FR40162采用ARM7TDMI处理器核,内部集成了256KB的片内SRAM和1024K字的16位Flash存储器,完全可编程的外部总线接口, 8个优先级且可以独立屏蔽的向量中断控制器,32个可编程的I/O接口线,3通道16位定时/计数器,2个同步/异步收发器及可编程的看门狗定时器,能完成全静态操作,具有先进的省电特性.第四章嵌入式处理器指令系统1,填空题(1)在源操作数为立即数时,应在前加#作为前缀,在#后加0x或&表示十六进制数,在#后加%表示二进制数,#后加0d或默认表示十进制数.(2)根据堆栈指针指向的数据位置不同,堆栈可分为满堆栈和空堆栈.(3)用一条指令完成人条件加法运算,并更新CPSR中的条件码,R1+R2->R3 ADDS R3,R1,R2.(4)在程序执行过程中,是通过寄存器R15控制程序的运行的.(5)转移指令的跳转范围是-32MB-32MB.2,选择题(2)堆栈随着存储器地址的增大而向上增长,基址寄存指向存贮有效数据的最高地址或者说指向第一个要读出的数据位置,是(A)堆栈.A,满递增B,空递增C,满递减D,空递减(3)在指令LDR R0,[R1,#4]!执行后,R1中的值为(C).A,R1不变B,R1=R1+1 C,R1=R1+4 D,R1=43,说明下列指令完成的功能(1)ADD R0,R1,R3,LSL #2 ;R0=R1+4R2(2)ANDNES R0,R1,#0x0F ;if (CPSR寄存器中Z=0) R1的高28位清零后送寄存器R0并更新CPSR寄存器,else 执行下一条指令.(3)LDRB R0,[R1,R2,LSR#2] ;把存储器地址为(R1+R2>>2)的字节数据加载到R0,R0的高24位清零.(4)ADCHI R1,R2,R3; if(CPSR寄存器中Z=0并且C=1) 执行R1=R2+R3加法操作,else执行下一条指令.(5)EOR R0,R0,R3,ROR R4; R3寄存器中的内容根据R4寄存器中的内容循环右移后与R0寄存器进行逻辑异或操作后,其结果存在R0寄存器内.(7)MLA R0,R1,R2,R3; R0=R1×R2+R3 MLA是32位乘加指令,运算结果的高32位自动丢掉.(8)LDR R1,[R0,-R5,LSL #4] ;将存储器地址为R0-16R5的字数据加载到寄存器R1中.4,用汇编语言实现下列功能的程序段,令R1=a,R2=b.(1)if(a!=b)&a-b>5)) a=a+bCMP R1,R2BEQ NextADD R3,R2,#5CMP R1,R3BLS NextADD R1,R1,R2Next B Next(2) while(a!=0){b=b+b*2;a--;}AREA TestWhile,CODE,READONL Ya equ 5b equ 1ENTRYMOV R1,#aMOV R2,#bLOOPCTL CMP R1,#0ADDNE R2,R2,R2,LSL#1SUBNES R1,R1,#1BNE LOOPCTLEND(3)从a所指向的地址,拷贝20个32位数据到b所指向的地址AREA DataCopy,CODE,READONL YENTRYLDR R0,=SrcDataLDR R1,=DstDataMOV R2,#20LOOPCTL LDR R3,[R0],#4STR R3,[R1],#4SUBS R2,R2,#1BNE LOOPCTLWait B WaitAREA DataDef, DATA,READWRITESrcData DCD 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20DstData SPACE 4*10END6,试比较TST与ANDS,CMP与SUBS,MOV与MVN指令的区别.(1)TST指令把两个操作数进行按位的与操作,并根据运算结果更新CPSR中的条件标志位的值.该指令通常用来检测是否设置了特定的位,一般操作数1是要测试的数据,而操作数2是一个位掩码.ANDS指令用于在两个操作数上进行逻辑与运算,并把结果放到目的寄存器中,操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或是1个立即数.该指令常用于设置操作数1的某些位.TST和ANDS两条指令都影响CPSR寄存器;TST指令不改变参与运算的数据,而ANDS指令对目的寄存器进行更新.(2)CMP指令用于把2个操作数进行比较,同时更新CPSR中条件标志位的值.该指令进行一次减法运算,但不保存运算结果,只更改条件标志位.标志位表示的是操作数1和操作数2 的关系(大,小,相等).SUBS 指令用于把操作数1送去操作数2,并将结果存放到目的寄存器中.操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或是一个立即数.指令影响CPSR值. CMP和SUBS指令都影响CPSR寄存器;CMP指令不保存运算结果,而SUBS指令可以保存运算结果,并且减数和被减数的值也不发生变化.(3)MOV指令将一个寄存器,被移位的寄存器或一个立即数的值装入目的寄存器内,可以指定相同的寄存器实现NOP的效果,还可以移位一个寄存器.MVN指令与MOV指令的不同之处是在传送数据之前先按位取反,即把一个被取反的值传送到目的寄存器中.8,写一段ARM汇编程序:循环累加队列中的所有数据,直到碰到零值位置,结果放在R4.源程序末尾队列如下:Array:DCD 0x11DCD 0x22DCD 0x33DCD 0R0指向队列头,ADR R0,ARRAY.使用命令LDR R1,[R0],#4来装载,累加至R4,循环直到R1为0,用死循环来停止.程序:AREA Cond_Sum,CODE,READONL YENTRYLDR R0,=ArrayMOV R4,#0LooPCtl LDR R1,[R0],#4CMP R1,#0ADDNE R4,R4,R1BNE LooPCtlWait B WaitAREA SrcData,CODE,READONL YArray DCD 0x11DCD 0x22DCD 0x33DCD 0END9,写一个汇编程序,求一个含64个带符号的16位数组组成的队列的平方和.程序:AREA SquareSum,CODE,READONL YENTRYLDR R0,=ArrayMOV R3,#4MOV R4,#0LooPCtl LDRH R1,[R0],#2MLA R4,R1,R1,R4SUBS R3,R3,#1BNE LooPCtlNOPAREA SrcData,CODE,READONL YArray DCD 0x00010002DCD 0x00030004END第五章嵌入式系统程序设计基础4,简要说明EXPORT和IMPORT的使用方法.答:EXPORT伪指令用于在程序中声明一个全局的标号,该标号可在其它的文件中引用.EXPORT可用GLOBAL代替.标号在程序中区分大小写.[WEAK]选项声明其它的同名标号优先于该标号被引用.IMPORT伪指令用于通知编译器要使用的标号在其它的源文件中定义,但要在当前源文件中引用,而且无论当前源文件中是否引用该标号,该标号均会被加入到当前源文件的符号表中. 5,分析说明下段程序完成什么功能AREA ChangeState,CODE,READONL YCODE32LDR R0,=Start+1BX R0CODE16Start MOV R1,#1END解:程序功能实现程序的跳转并从ARM状态切换到Thumb状态.6,设计一段程序完成数据块的复制,数据从源数据区snum复制到目标数据区dnum.复制时,以8个字为单位进行.对于最后所剩不足8个字的数据,以字为单位进行复制.程序:AREA BlockDataCopy,CODE,READONL Ynum EQU 20ENTRYStart LDR R0,=snumLDR R1,=dnumMOV R2,#numMOV R13,#400BlockCopy MOVS R3,R2,LSR#3BEQ CopyWordsSTMFD R13!,{R4-R11}OctCopy LDMIA R0!,{R4-R11}STMIA R1!,{R4-R11}SUBS R3,R3,#1BNE OctCopyLDMFD R13!,{R4-R11}CopyWords ANDS R2,R2,#7BEQ StopWordsCopy LDR R3,[R0],#4STR R3,[R0],#4SUBS R2,R2,#1BNE WordsCopyStop B StopAREA BlockData, DATA,READWRITEsnum DCD 1,2,3,4,5,6,7,8,9,10,11DCD 12,13,14,15,16,17,18,19,20dnum SPACE 20*4END7,利用跳转表的思想编写一个汇编程序,实现当R0分别为0,1,2时完成跳转到3个不同的子程序.程序:AREA JumpTable,CODE,READONL Ynum EQU 3ENTRYStart MOV R0,#1MOV R1,#3MOV R2,#2BL JumpTblCtlStop B StopJumpTblCtl CMP R0,#numMOVHS PC,LRADR R3,JumpTblEntryLDR PC,[R3,R0,LSL#2]JumpTblEntry DCD Subroutine1DCD Subroutine2DCD Subroutine3Subroutine1 MOV R3,#0x55MOV PC,LRSubroutine2 MOV R4,#0xAAMOV PC,LRSubroutine3 MOV R5,#0x5AMOV PC,LREND第六章嵌入式操作系统1,简述μCLinux的特点,说明其主要应用的环境.答:μCLinux主要是为控制领域定做的LINUX版本,其设计思想就是对标准LINUX内核进行裁剪,去除虚拟管理部分代码,并且对内存分配进行优化,以达到提高系统运行效率的目的.特点:(1)包含通用LINUX API函数.(2)内核体积小于512KB(3)内核及文件系统体积小于900KB(4)具有完整的TCP/IP协议栈(5)支持多种文件系统.2,简述μCLinux的移植过程.答:(1)配置内核(2)编译内核(3)下载,运行,调试内核第七章嵌入式系统的BootLoader1,简述Boot Loader与嵌入式系统的关系.Boot Loader 是在操作系统内核或用户应用程序运行之前运行的一段小程序.其作用为:初始化硬件设备,建立内存空间的映射图,将系统的软件件环境带到一个合适的状态,为最终调用操作系统内核或用户应用程序准备好正确的环境.2,Boot Loader的主要功能有哪些答:初始化硬件设备,检测系统内存映射,将内核映像和根文件系统从Flash传到RAM空间,并为内核设置启动参数,最后调用内核.3,Boot Loader分为几个阶段,各阶段主要完成什么功能答:Boot Loader通常分为2个阶段.阶段1完成基本硬件的初始化,加载阶段2的RAM空间,复制阶段2到RAM,设置堆栈指针,跳转到阶段2的C程序入口点.在阶段2初始化阶段2要使用的硬件设备,检测系统内存映射,加载内核映像和根文件系统映像,调用内核.第八章嵌入式系统设计1,简述嵌入式系统设计的一般步骤.答:⑴需求分析; ⑵体系结构设计; ⑶硬件,软件,执行机构设计; ⑷系统集成⑸系统测试2,简述软,硬件协同设计的过程.⑴需求分析; ⑵软,硬件协同设计; ⑶软,硬件实现; ⑷软,硬件协同测试和验证。
单片机原理与嵌入式系统设计课后答案
F
A
0
7
8
C
3
4
70
65
48
55
56
67
51
52
6.写出下列字符串的 ASCII 码(用十六进制表示)。 (1)X = 3+5; (2)China
解: (1)(88 61 51 43 53)10 Ù (58 3D 33 2B 35)16 (2)(67 104 105 110 97)10 Ù (43 68 69 6E 61)16
·8·
单片机原理与嵌入式系统设计―课后习题参考答案---电子版
息存储可靠性最高,当用量很大时,单片成本最低。 PROM 即可编程 PROM,又称 OTP ROM,需要存储的信息由用户使用编程器写入,信
息存储可靠性次之,单片成本较低,只能使用一次,目前已较少使用。
17.EEPROM 与 EPROM 之间有什么区别?
8.嵌入式操作系统一般如何分类?
答: 嵌入式系统的种类按形态可分为设备级、板级、芯片级,按应用分为工业应用和消费电 子。
9. 说明使用嵌入式操作系统的优缺点。 答: 优点:程序设计和扩展容易,不需要大的改动就可以增加新的功能;通过将应用程序分 成若干独立的模块,使程序设计过程大为简化;对实时性要求较高的事件都得到了快速、可 靠的处理;充分利用了系统资源。 缺点:使用嵌入式操作系统需占用嵌入式处理机的硬件资源和部分内存,另外还需支付 操作系统内核费用,不适合低成本的小型项目。
答: EPROM 是 Erasable Programmable Read Only Memory 的缩写,因为其擦除方法是用紫外
控制;
·2·
单片机原理与嵌入式系统设计―课后习题参考答案---电子版
ARM嵌入式系统基础教程第二版课后习题答案
第1章嵌入式系统概述(1)举出3个本书中未提到的嵌入式系统的例子。
答:键盘、鼠标、扫描仪。
(2)什么叫嵌入式系统?答:嵌入到对象体系中的专用计算机应用系统。
(3)什么叫嵌入式处理器?嵌入式处理器分为哪几类?答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
分为3类:1.注重尺寸、能耗和价格;2.关注性能;3.关注全部4个需求——性能、尺寸、能耗和价格。
(4)什么是嵌入式操作系统?为何要使用嵌入式操作系统?答:嵌入式操作系统是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的元素发展而来的。
原因:1.提高了系统的可靠性;2.提高了开发效率,缩短了开发周期。
3.充分发挥了32位CPU的多任务潜力。
第2章 ARM7体系结构1.基础知识(1)ARM7TDMI中的T、D、M、I的含义是什么?答:T:高密度16位Thumb指令集扩展;D:支持片上调试;M:64位乘法指令;I:Embedded ICE硬件仿真功能模块。
(2)ARM7TDMI采用几级流水线?使用何种存储器编址方式?答:3级;冯·诺依曼结构。
(3)ARM处理器模式和ARM处理器状态有何区别?答:ARM处理器模式体现在不同寄存器的使用上;ARM处理器状态体现在不同指令的使用上。
(4)分别列举ARM的处理器模式和状态?答:ARM的处理器模式:用户模式、系统模式、管理模式、中止模式、未定义模式、中断模式、快速模式;ARM的处理器状态:ARM状态、Thumb状态。
(5)PC和LR分别使用哪个寄存器?答:PC:R15;LR:R14。
(6)R13寄存器的通用功能是什么?答:堆栈指针SP。
(7)CPSR寄存器中哪些位用来定义处理器状态?答:位31~28:N、Z、C、V,条件代码标志位;27~8:保留位;7~0:I、F、T、M4~0,控制标志位。
(8)描述一下如何禁止IRQ和FIQ的中断。
答:当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能;当控制位F置位时,FIQ 中断被禁止,否则允许FIQ中断使能。
嵌入式系统设计大学教程习题与解答
嵌入式系统设计大学教程习题与解答第1章嵌入式系统设计基本概念(绪论)1、嵌入式系统的定义是什么?你是如何理解嵌入式系统的? (P3)答:嵌入式系统一般定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊规定的专用计算机系统。
一个嵌入式系统就是一个硬件和软件的集合体,它涉及硬件和软件两部分。
其中硬件涉及嵌入式解决器/控制器/数字信号解决器(DSP)、存储器及外设器件、输入输出(I/O)端口、图形控制器等;软件部分涉及操作系统软件(嵌入式操作系统)和应用程序(应用软件),由于应用领域不同,应用程序千差万别。
2、列出并说明嵌入式系统不同于其他计算机系统的重要特性。
(P3~P4)答:重要特性有:•系统内核小:由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较传统的操作系统要小得多。
•专用性强:嵌入式系统通常是面向特定任务的,个性化很强,其中软件系统和硬件的结合非常紧密,一般要针对硬件进行软件系统的移植。
•运营环境差异大:嵌入式系统使用范围极为广泛,其运营环境差异很大。
•可靠性规定高:嵌入式系统往往要长期在无人值守的环境下运营,甚至是常年运营,因此对可靠性的规定特别高。
•系统精简和高实时性操作系统:•具有固化在非易失性存储器中的代码:为了系统的初始化,几乎所有系统都要在非易失性存储器中存放部分代码(启动代码)。
为了提高执行速度和系统可靠性,大多数嵌入式系统经常把所有代码(或者其压缩代码)固化,存放在存储器芯片或解决器的内部存储器件中,而不使用外部存储介质。
•嵌入式系统开发工作和环境:嵌入式系统开发需要专门的开发工具和环境。
3、简述嵌入式系统的体系结构。
(P5)答:嵌入式系统自底向上包含四个部分:硬件平台、嵌入式实时操作系统(RTOS)、硬件抽象层(HAL)和嵌入式实时应用程序。
硬件抽象层位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。
arm9嵌入式系统课后答案
arm9嵌入式系统课后答案【篇一:嵌入式习题答案】什么是嵌入式系统?请列举几个常见的嵌入式系统。
答:根据国际电气和电子工程师协会(ieee)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
这主要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。
目前被我国科学家普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。
常见的嵌入式系统:手机,dvd,路由器,核磁共振仪,全自动洗衣机。
2.嵌入式系统与通用计算机有哪些区别?答:(1) 以应用为中心;(2) 以计算机技术为基础(3) 软件和硬件可裁减(4) 对系统性能要求严格(5)软件的固件化(6)需要专用的开发工具 3.嵌入式系统的发展分为哪几个阶段?答:第一阶段:无操作系统的嵌入算法阶段。
第二阶段:以嵌入式cpu为基础,以简单操作系统为核心的嵌入式系统。
第三阶段:以嵌入式操作系统为标志的嵌入式系统。
第四阶段:以基于internet为标志的嵌入式系统。
4.请列举嵌入式系统的主要应用领域。
答:(1)工业控制领域(2)交通运输领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域第二章习题答案1.简述简单嵌入式系统与复杂嵌入式系统的主要区别。
答:简单嵌入式系统很早就已经存在,这类嵌入式系统因为软硬件复杂度都很低,一般不使用操作系统,例如常用的单片机系统。
对于复杂的嵌入式系统,它的开发模式发生了极大的改变。
一个复杂的嵌入式系统不仅硬件系统的开发比单片机复杂了许多,更重要的是在该系统中采用了嵌入式操作系统,其应用软件的开发转变为使用操作系统标准接口的计算机工程领域的应用软件开发。
嵌入式系统(第二版)第一至第五章课后答案
第一章思考与练习1、举出3个书本中未提到的嵌入式系统的例子。
答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On Chip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了32 位CPU 的多任务潜力。
第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。
识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。
提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。
执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。
结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。
2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。
需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。
ARM嵌入式系统开发与应用课后题答案与习题
课后题答案:第一章1.写出下列英文缩写的英文原文及中文含义。
RAM随机存储器 DRAM动态随机存储器 ROM只读存储器PROM可编程只读存储器 EPROM可插除可编程只读存储器 CANCAN总线RTOS实时操作系统 SOPC片上可编程系统 ICE硬件调试器 FI快速终端请求EEPROM电可插除可编程只读存储器 API应用程序接 DMA直接内存存取RISC精简指令集计算机 SPI串行万维指令 MMU存储管理单元UART异步接受发送装置 ARM先进RISC存储器 SWI软件终端指令2、什么是嵌入式系统? P3嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。
以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
3、是比较嵌入式系统与通用PC的区别。
P3(1)嵌入式系统是专用的计算机系统,而PC是通用的计算机系统。
(2)技术要求不同,通用PC追求高速、海量的数据运算;嵌入式要求对象体系的智能化控制。
(3)发展方向不同,PC追求总线速度的不断提升,存储容量不断扩大;嵌入式追求特定对象系统的智能性,嵌入式,专用性。
4、嵌入式体统有哪些部分组成?简单说明各部分的功能与作用(1)硬件层是整个核心控制模块(由嵌入式微处理器、存储系统、通信模块、人机接口、其他I/O 接口以及电源组成),嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理器基础上增加电源电路、时钟电路、和存储器电路(RAM和ROM等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在ROM中。
(2)中间层把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。
一般包括硬件抽象层(Hardware Abstract Layer,HAL)和板级支持包(Board Support Package,BSP)。
(3)软件层由实时操作系统(Real Time Operating System,RTOS)、文件系统、图形用户接口(Graphical User Interfaces,GUI)、网络组件组成。
《嵌入式》课后习题答案
第一章1. 简述嵌入式的定义以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2. 举例说明嵌入式系统的“嵌入性” 、“专用性” 、“计算机系统”的基本特征。
按照嵌入式系统的定义,嵌入式系统有3个基本特点,即“ 嵌入性”、“ 专用性”与“ 计算机”。
“嵌入性”由早期微型机时代的嵌入式计算机应用而来,专指计算机嵌入到对象体系中,实现对象体系的智能控制。
当嵌入式系统变成一个独立应用产品时,可将嵌入性理解为内部嵌有微处理器或计算机。
“计算机”是对象系统智能化控制的根本保证。
随着单片机向MCU SoC发展,片内计算机外围电路、接口电路、控制单元日益增多,“专用计算机系统”演变成为“内含微处理器”的现代电子系统。
与传统的电子系统相比较,现代电子系统由于内含微处理器,能实现对象系统的计算机智能化控制能力。
“专用性”是指在满足对象控制要求及环境要求下的软硬件裁剪性。
嵌入式系统的软、硬件配置必须依据嵌入对象的要求,设计成专用的嵌入式应用系统。
3. 简述嵌入式系统发展各阶段的特点。
(1)无操作系统阶段:使用简便、价格低廉;(2)简单操作系统阶段:初步具有了一定的兼容性和扩展性,内核精巧且效率高,大大缩短了开发周期,提高了开发效率。
(3)实时操作系统阶段:系统能够运行在各种不同类型的微处理器上,具备了文件和目录管理、设备管理、多任务、网络、图形用户界面Graphic User Interface ,GUI )等功能,并提供了大量的应用程序接口Application Programming Interface ,API ),从而使应用软件的开发变得更加简单。
(4)面向Internet 阶段:进入21 世纪,Internet 技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与Internet 技术的结合正在推动着嵌入式系统的飞速发展4. 简述嵌入式系统的发展趋势。
嵌入式课后练习题答案
第1章1、什么是嵌入式系统?嵌入式系统的组成?从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。
术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。
嵌入的系统中可以共存多个嵌入式系统。
2、典型的嵌入式处理器有哪些?3、典型的RTOS操作系统有哪些?4、列举身边的嵌入式应用产品?第2章Cortex-M体系结构一题:填空题1、ARM Cortex系统的处理器分为:____A_____、____R_____、_____M_____。
2、ARM Cortex-M3为32位微控制器,请问32位指的是CPU字长。
3、ARM Cortex-M3体系结构采用哈佛总线结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行进行。
4、CM3寄存器分为通用寄存器,包括R0~R15。
和特殊功能寄存器,包括程序状态寄存器、异常屏蔽寄存器、控制寄存器。
5、寄存器R13是堆栈指针寄存器。
6、寄存器R14是程序连接寄存器。
7、寄存器R15是程序PC。
8、CM3的堆栈指针分为__MSP__、__PSP_。
存储器堆栈堆栈分为:向上生长(即向高地址方向生长)的递增堆栈;向下生长(即向低地址方向生长),称为递减堆栈。
堆栈指针指向最后压入堆栈的有效数据项,称为满堆栈;堆栈指针指向下一个数据项放入的空位置,称为空堆栈。
试判断CM3属于递减堆栈堆栈和满堆栈堆栈。
9、在CM3中记录程序状态的寄存器是___xPSR____。
都分别有些什么状态_应用状态、中断状态、可执状态。
10、BASEPRI寄存器的作用是___屏蔽优先级低于某一个数值的异常____。
11、寄存器CONTROL的作用是控制处理器模式及堆栈切换。
MOV R0,#0x01MSR CONTROL,R0在8级优先中,请问上述程序的功能是处理器工作在用户模式主堆栈下。
周立功ARM嵌入式系统基础教程课后习题答案
第一章思考与练习1、举出3个书本中未提到的嵌入式系统的例子。
答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On Chip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了32 位CPU 的多任务潜力。
第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。
识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。
提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。
执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。
结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。
2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。
需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。
嵌入式系统课后习题-部分答案(PDF)
第一章1-1.简述嵌入式系统的定义。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
1-2.简述嵌入式系统的组成。
从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。
其中嵌入式处理器通常是单片机或微控制器,支撑硬件主要包括存储介质、通信部件和显示部件等,嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件及应用中间件等。
嵌入式系统的组成部分是嵌入式系统硬件平台、嵌入式操作系统和嵌入式系统应用。
嵌入式系统硬件平台为各种嵌入式器件、设备(如ARM 、PowerPC、Xscale、MIPS等);嵌入式操作系统是指在嵌入式Linux、uCLinux、WinCE等。
1-3.ARM7处理器使用的是(ARMv4)指令集。
ARM7内核采用冯·诺依曼体系结构,数据和指令使用同一条总线。
内核有一条3级流水线,执行ARMv4指令集。
1-6.ARM9采用的是(5)级流水线设计。
存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分数据总线和指令总线。
第二章2-1.简述ARM可以工作在几种模式。
ARM处理器共有7种工作模式:用户模式(User)、快速终端模式(FIQ)、外部中断模式(IRQ)、特权模式(svc)、数据访问中止模式(Abort)、未定义指令中止模式(Undef)、系统模式(System)。
除用户模式外其他6种模式称为特权模式。
在特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式切换。
再除去系统模式,其余5种模式又称为异常模式。
2-2.ARM核有多少个寄存器?ARM处理器有如下37个32位长的寄存器:(1)30个通用寄存器;(2)6个状态寄存器:1个CPSR(Current Program Status Register,当前程序状态寄存器),5个SPSR(Saved Program Status Register,备份程序状态寄存器);(3)1个PC(Program Counter,程序计数器)。
(完整版)嵌入式系统课后答案马维华
第 1 章嵌入式系统概述1, 什么是嵌入式系统嵌入式系统的特点是什么嵌入式系统概念:(1) IEEE 对嵌入式系统的定义:用于控制,监视或者辅助操作机器和设备的装置.(2) 一般定义: 以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能, 可靠性,成本,体积,功耗有严格要求的专用计算机系统.嵌入式系统的特点:(1) 专用的计算机系统(2) 必须满足环境要求(3) 必须能满足对象系统的控制要求(4) 是集成计算机技术与各行业应用的集成系统(5) 具有较长的生命周期(6) 软件固化在非易失性存储器中(7) 必须能满足实时性要求(8) 需要专用开发环境和开发工具2, 简单分析几种嵌入式操作系统的主要特点, 包括嵌入式Linux,Windows CE,uCOS II 及VxWorks.(1) 嵌入式Lin ux:有多个主流版本,根据应用需求,性能略有差别•卩CL in ux是Linux小型化后, 适合于没有MMU的微处理器芯片而裁剪成的操作系统,卩CLinuX呆持了传统Linux操作系统的主要特性,包括稳定,强大的网络和文件系统的支持,卩CLinux裁剪了大量的Linux内核以缩小尺寸,适合像512KB RAM,1MB Flash 这样小容量,低成本的嵌入式系统•RT_Linux 即能兼容通常的Linux,又能保证强实时性•(2) Windows CE: 开发平台主要为WinCE Platform Builder,有时也用EVC 环境开发一些较上层的应用•WinCE 开发难度远低于嵌入式Linux,实时性略低,常用于手机,PDA 等手持设备中•(3) uCOS II: 结构小巧,抢先式的实时嵌入式操作系统,具有执行效率高,占用空间小,可移植性强,实时性能好和可扩展性能等优点•主要用于小型嵌入式系统•(4) VxWorks: 集成开发环境为Tornado,Vxworks 因出现稍早,实时性很强,并且内核可极微(最小8K),可靠性较高等•通常应用在通信设备等实时性要求较高的系统中•第 2 章嵌入式处理器体系结构1,具体说明ARM7TDMI 的含义,其中的T,D,M,I 分别代表什么ARM7TDMI是ARM7处理器系列成员之一,采用V4T版本指令.T表示Thumb,该内核可从16位指令集切换到32位ARM指令集;D表示Debug,该内核中放置了用于调试的结构,支持片内Debug调试;M表示Multiplier,支持位乘法;I表示Embedded ICE ,内含嵌入式ICE宏单元,支持片上断点和观察点•2, ARMV4及以上版本的CPSR的哪一位反映了处理器的状态若CPSR=0x000000090,分析系统状态•CPSR=0x000000090 表示当前处理器工作于ARM 状态,系统处于用户模式下•CPSR的BIT5(T)反映当前处理器工作于ARM 状态或Thumb状态.3,ARM 有哪几个异常类型,为什么FIQ 的服务程序地址要位于0x1C 在复位后,ARM 处理器处于何种模式,何种状态ARM 的7 种异常类型:复位RESET 异常,未定义的指令UND 异常,软件中断SWI 异常,指令预取中止PABT 异常,数据访问中止DABT 异常,外部中断请求IRQ 异常,快速中断请求FIQ 异常.在有快速中断发生时,CPU从Ox1C处取出指令执行.ARM复位后处于管理模式,工作于ARM 状态•4, 为什么要使用Thumb模式,与ARM代码相比较,Thumb代码的两大优势是什么为了兼容数据总线宽度为16 位的应用系统,使用了ARM 指令系统的一个子集Thumb 指令系统.与等价的32位代码相比,Thumb 指令集在保留32位代码优势时,大大节省了系统的存储空间.5, 说明AMBA,AHB,ASB 以及APB 的英文全称及其含义.AMBA(Advanced Microcontroller Bus Architecture) 即先进的微控制器总线体系结构, 是ARM 公司公布的总线标准,这一标准定义了AHB,ASB,APB 及AMBA 共 4 种高性能的系统总线规范.AHB(Advanced High_performance Bus) 先进的高性能总线,用于连接高性能系统组件或高宽带组件.它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟.ASB(Advaneed System Bus)即先进的系统总线,用于连接高性能的系统模块•它支持突发数据传输. APB(Advaened Peripheral Bus) 即先进的外围接口总线,是一个简单的接口•它支持低性能的外围接口,APB 是用来连接系统的周边组件•6, 简述MMU 从虚拟地址到物理地址的转换过程和方法• 虚拟地址到物理地址的转换过程:当ARM 要访问存储器时,MMU 先查找TLB 中的虚拟地址表,如果ARM 的结构支持分开的地址TLB 和指令TLB, 那么它在取指令时使用指令TLB, 其它的所有访问类别使用数据TLB; 如果TLB 中没有虚拟地址的入口,则是转换表遍历硬件从存储在主存储器中的转换表中获取访问权限,一旦取到,这些信息放在转换TLB 中,它会放在1个没有使用的入口处或覆盖 1 个已有的入口•虚拟地址到物理地址的转换方法:(1) 确定1 级页表的基地址•(2) 合成转换表的1 级描述符•(3) 根据不同的1级描述符获取第2 级描述符地址并找出第2 级描述符•(4) 将第2级页描述符指示的页基地址,与虚拟地址指示的页内偏移地址相加,得到相应页的物理地址,完成虚拟地址到物理地址的转换•第三章典型嵌入式处理器1,简述LPC2000 系列微控制器的内部有哪些重要的外设组件向量中断控制器,外部存储控制器,I2C 中行总线控制器,SPI 同步接口控制器,UART 串口控制器,定时器,AD 转换器,CAN 总线控制器,看门狗定时器等•2,S3C44B0X 如何组织8,16,32 位的存储器,地址线如何连接S3C44B0X 不同宽度的存储器地址线连接方法• 存储器地址引脚8 位总线16 位总线32 位总线A0A0A1A2A1A1A2A3A2A2A3A4A3A3A4A5Am-1Am-1Am-2Am-33, 说明I2C 的数据有效性和起停条件.数据有效性:当SCL信号为高电平时,SDA上的数据传输有效,传输时高位在前,低位在后,每个字节长度限制为位,而每次传送的字节总数没有限制.满足启动条件后的第一个字节应为地址域.每一个字节有一个应答位.起停条件:启动条件,在SCL信号保持高电平时SDA信号由高电平变为低电平;停止条件,要求在SCL 信号保持高电平时SDA 信号由低电平变为高电平.4,简述AT91FR40162 处理器的特点.AR91FR40162 采用ARM7TDMI 处理器核,内部集成了256KB 的片内SRAM 和1024K 字的16位Flash存储器,完全可编程的外部总线接口, 8个优先级且可以独立屏蔽的向量中断控制器,32个可编程的I/O 接口线,3通道16位定时/计数器,2个同步/异步收发器及可编程的看门狗定时器,能完成全静态操作,具有先进的省电特性.第四章嵌入式处理器指令系统1,填空题(1) 在源操作数为立即数时,应在前加#作为前缀,在#后加0x 或&表示十六进制数,在#后加%表示二进制数,#后加0d 或默认表示十进制数.(2) 根据堆栈指针指向的数据位置不同,堆栈可分为满堆栈和空堆栈.(3) 用一条指令完成人条件加法运算,并更新CPSR中的条件码,R1+R2->R3 ADDS R3,R1,R2.(4) 在程序执行过程中,是通过寄存器R15 控制程序的运行的.(5) 转移指令的跳转范围是-32MB-32MB.2,选择题(2) 堆栈随着存储器地址的增大而向上增长,基址寄存指向存贮有效数据的最高地址或者说指向第一个要读出的数据位置,是(A)堆栈.A,满递增B,空递增C,满递减D,空递减⑶在指令LDR R0,[R1,#4]!执行后,R1中的值为(C).A,R1 不变B,R1=R1+1 C,R1=R1+4 D,R1=43, 说明下列指令完成的功能(1) ADD R0,R1,R3,LSL #2 ;R0=R1+4R2(2) ANDNES RO,R1,#OxOF ;if (CPSR 寄存器中Z=0) R1的高28位清零后送寄存器R0并更新CPSR寄存器,else执行下一条指令.(3) LDRB R0,[R1,R2,LSR#2];把存储器地址为(R1+R2>>2)的字节数据加载到R0,R0的高24位清零.(4) ADCHI R1,R2,R3; if(CPSR 寄存器中Z=0并且C=1)执行R仁R2+R3加法操作,else执行下一条指令.(5) E0R RO,RO,R3,ROR R4; R3寄存器中的内容根据R4寄存器中的内容循环右移后与R0寄存器进行逻辑异或操作后,其结果存在R0 寄存器内.(7) MLA R0,R1,R2,R3; R0=R1 R2+R3 MLA 是32位乘加指令,运算结果的高32位自动丢掉.(8) LDR R1,[R0,-R5,LSL #4];将存储器地址为R0-16R5的字数据加载到寄存器R1中•4, 用汇编语言实现下列功能的程序段,令R1=a,R2=b.(1) if(a!=b)&a-b>5)) a=a+bCMP R1,R2BEQ NextADD R3,R2,#5CMP R1,R3BLS NextADD R1,R1,R2Next B Next(2) while(a!=0){b=b+b*2;a--;}AREA TestWhile,CODE,READONL Ya equ 5b equ 1ENTRYMOV R1,#aMOV R2,#bLOOPCTL CMP R1,#0ADDNE R2,R2,R2,LSL#1SUBNES R1,R1,#1BNE LOOPCTLEND⑶从a所指向的地址,拷贝20个32位数据到b所指向的地址AREA DataCopy,CODE,READONL YENTRYLDR R0,=SrcDataLDR R1,=DstDataMOV R2,#20LOOPCTL LDR R3,[R0],#4STR R3,[R1],#4SUBS R2,R2,#1BNE LOOPCTLWait B WaitAREA DataDef, DATA,READWRITESrcData DCD 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20DstData SPACE 4*10END6,试比较TST 与ANDS,CMP 与SUBS,MOV 与MVN 指令的区别.(1) TST 指令把两个操作数进行按位的与操作,并根据运算结果更新CPSR 中的条件标志位的值.该指令通常用来检测是否设置了特定的位,一般操作数 1 是要测试的数据,而操作数2是一个位掩码.ANDS 指令用于在两个操作数上进行逻辑与运算,并把结果放到目的寄存器中,操作数1 应是一个寄存器,操作数 2 可以是一个寄存器,被移位的寄存器,或是1个立即数.该指令常用于设置操作数 1 的某些位.TST和ANDS两条指令都影响CPSR寄存器;TST指令不改变参与运算的数据,而ANDS指令对目的寄存器进行更新.(2) CMP指令用于把2个操作数进行比较,同时更新CPSR中条件标志位的值•该指令进行一次减法运算,但不保存运算结果,只更改条件标志位.标志位表示的是操作数 1 和操作数 2 的关系(大,小,相等)•SUBS 指令用于把操作数1 送去操作数2,并将结果存放到目的寄存器中•操作数1 应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或是一个立即数•指令影响CPSR值• CMP 和SUBS 指令都影响CPSR 寄存器;CMP 指令不保存运算结果,而SUBS 指令可以保存运算结果,并且减数和被减数的值也不发生变化•(3) MOV 指令将一个寄存器,被移位的寄存器或一个立即数的值装入目的寄存器内,可以指定相同的寄存器实现NOP 的效果,还可以移位一个寄存器•MVN 指令与MOV 指令的不同之处是在传送数据之前先按位取反,即把一个被取反的值传送到目的寄存器中•8,写一段ARM汇编程序:循环累加队列中的所有数据,直到碰到零值位置,结果放在R4•源程序末尾队列如下:Array:DCD 0x11DCD 0x22DCD 0x33DCD 0R0 指向队列头,ADR R0,ARRAY •使用命令LDR R1,[R0],#4来装载,累加至R4,循环直到R1为0,用死循环来停止•程序:AREA Cond_Sum,CODE,READONL YENTRYLDR R0,=ArrayMOV R4,#0LooPCtl LDR R1,[R0],#4CMP R1,#0ADDNE R4,R4,R1BNE LooPCtlWait B WaitAREA SrcData,CODE,READONL YArray DCD 0x11DCD 0x22DCD 0x33DCD 0END9,写一个汇编程序,求一个含64个带符号的16位数组组成的队列的平方和•程序:AREA SquareSum,CODE,READONL YENTRYLDR R0,=ArrayMOV R3,#4MOV R4,#0LooPCtl LDRH R1,[R0],#2MLA R4,R1,R1,R4SUBS R3,R3,#1BNE LooPCtlNOPAREA SrcData,CODE,READONL YArray DCD 0x00010002DCD 0x00030004END第五章嵌入式系统程序设计基础4, 简要说明EXPORT和IMPORT的使用方法.答:EXPORT伪指令用于在程序中声明一个全局的标号,该标号可在其它的文件中引用.EXPORT可用GLOBAL 代替•标号在程序中区分大小写.[WEAK]选项声明其它的同名标号优先于该标号被引用.IMPORT伪指令用于通知编译器要使用的标号在其它的源文件中定义,但要在当前源文件中引用,而且无论当前源文件中是否引用该标号,该标号均会被加入到当前源文件的符号表中.5, 分析说明下段程序完成什么功能AREA ChangeState,CODE,READONL YCODE32LDR R0,=Start+1BX R0CODE16Start MOV R1,#1END解:程序功能实现程序的跳转并从ARM状态切换到Thumb状态.6, 设计一段程序完成数据块的复制,数据从源数据区snum|复制到目标数据区dnum .复制时,以8个字为单位进行.对于最后所剩不足8个字的数据,以字为单位进行复制.程序:AREA BlockDataCopy,CODE,READONL Ynum EQU 20ENTRYStart LDR R0,=snumLDR R1,=dnumMOV R2,#numMOV R13,#400BlockCopy MOVS R3,R2,LSR#3BEQ CopyWordsSTMFD R13!,{R4-R11}OctCopy LDMIA R0!,{R4-R11}STMIA R1!,{R4-R11}SUBS R3,R3,#1BNE OctCopyLDMFD R13!,{R4-R11}CopyWords ANDS R2,R2,#7BEQ StopWordsCopy LDR R3,[R0],#4STR R3,[R0],#4SUBS R2,R2,#1BNE WordsCopyStop B StopAREA BlockData, DATA,READWRITEsnum DCD 1,2,3,4,5,6,7,8,9,10,11DCD 12,13,14,15,16,17,18,19,20dnum SPACE 20*4END7, 利用跳转表的思想编写一个汇编程序,实现3 个不同的子当R0 分别为0,1,2 时完成跳转到程序.程序:AREA JumpTable,CODE,READONL Ynum EQU 3ENTRYStart MOV R0,#1MOV R1,#3MOV R2,#2BL JumpTblCtlStop B StopJumpTblCtl CMP R0,#numMOVHS PC,LRADR R3,JumpTblEntryLDR PC,[R3,R0,LSL#2]JumpTblEntry DCD Subroutine1DCD Subroutine2DCD Subroutine3Subroutine1 MOV R3,#0x55MOV PC,LRSubroutine2 MOV R4,#0xAAMOV PC,LRSubroutine3 MOV R5,#0x5AMOV PC,LREND第六章嵌入式操作系统1, 简述卩CLinux的特点,说明其主要应用的环境.答:卩CLinux主要是为控制领域定做的LINUX版本其设计思想就是对标准LINUX内核进行裁剪,去除虚拟管理部分代码,并且对内存分配进行优化,以达到提高系统运行效率的目的. 特点:(1) 包含通用LINUX API 函数.(2) 内核体积小于512KB(3) 内核及文件系统体积小于900KB(4) 具有完整的TCP/IP 协议栈(5) 支持多种文件系统.2, 简述CLinux的移植过程.答:(1)配置内核(2) 编译内核(3) 下载,运行,调试内核第七章嵌入式系统的BootLoader1, 简述Boot Loader 与嵌入式系统的关系.Boot Loader 是在操作系统内核或用户应用程序运行之前运行的一段小程序.其作用为:初始化硬件设备,建立内存空间的映射图,将系统的软件件环境带到一个合适的状态,为最终调用操作系统内核或用户应用程序准备好正确的环境.2, Boot Loader 的主要功能有哪些答:初始化硬件设备,检测系统内存映射,将内核映像和根文件系统从Flash 传到RAM 空间,并为内核设置启动参数,最后调用内核.3, Boot Loader 分为几个阶段,各阶段主要完成什么功能答:Boot Loader通常分为2个阶段.阶段1完成基本硬件的初始化加载阶段2的RAM空间, 复制阶段2到RAM,设置堆栈指针,跳转到阶段2的C程序入口点.在阶段2初始化阶段2要使用的硬件设备,检测系统内存映射,加载内核映像和根文件系统映像,调用内核.第八章嵌入式系统设计1, 简述嵌入式系统设计的一般步骤.答:⑴需求分析;⑵体系结构设计;⑶硬件,软件,执行机构设计;⑷系统集成⑸系统测试2, 简述软,硬件协同设计的过程.⑴需求分析;⑵软,硬件协同设计;⑶软,硬件实现;⑷软,硬件协同测试和验证。
(完整word版)嵌入式系统原理与应用习题答案
版权说明本文件中出现的任何文字叙述、文件格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属本人所有。
----WangYiwei由于我正在学习“嵌入式系统原理与应用——基于ARM微处理器和Linux操作系统”这门课程,网络上找不到课后习题答案。
因此本人通过认真地做习题,不懂百度,查阅相关书籍等途径,整理了一份答案,可供各位参考。
注意:答案并不一定完全正确,有异议的答案欢迎提出来大家一起探讨。
1.8 练习题P141.选择题(1)A说明:嵌入式系统的发展趋势表现在以下几方面:1.产品种类不断丰富,应用范围不断普及2.产品性能不断提高3.产品功耗不断降低,体积不断缩小4.网络化、智能化程度不断提高5.软件成为影响价格的主要因素(2)D说明:常见的嵌入式操作系统: VxWorks,Windows CE、uC/OS-II和嵌入式Linux。
(3)A说明:VxWorks是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。
2.填空题(1)嵌入式计算机(2)微处理器外围电路外部设备(3)板级支持包实时操作系统应用编程接口应用程序(4)嵌入式处理器微控制器数字信号处理器3.简答题(1)简述嵌入式系统的定义和特点答:定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。
(2)简述计算机系统的发展历程第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段;第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统;第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用开始普及的阶段;第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。
(3)简述MCU和DSP的区别MCU是微控制器,DSP是数字信号处理器。
MCU相当于小型的电脑,内部集成的CPU、ROM、RAM、I/O总线,所以集成度高是它的特点。
RM嵌入式系统课后习题部分答案
一填空题1.1嵌入式系统从大的方面分为(嵌入式系统硬件平台)和(嵌入式软件)两大部分。
1.2驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)和(设备驱动程序)。
1.3嵌入式系统核心是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器和(嵌入式片上系统SoC)4大类。
2.2ARM7TDMI处理器分为(ARM)和(Thumb)两种操作状态。
2.3ARM状态下,SP寄存器指的是(R13)、LR寄存器指的是(R14)、PC寄存器指的是(R15).2.4ARM处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。
3.1ARM7TDMI(-S)指令集包括(ARM)指令集和(Thumb)指令集。
3.2LDR指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。
3.3指出下面各条指令的寻址方式。
SUB R0,R1,R2 ;寻址方式:(寄存器寻址)。
SUBS R0,R0,#1 ;寻址方式:(立即寻址)。
MOV R0,R2,LSL#3 ;寻址方式:(寄存器移位寻址)。
SWP R1,R1,[R2] ;寻址方式:(寄存器间接寻址)。
LDR R2,[R3,#0x0C] ;寻址方式:(基址寻址)。
4.3ARM汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)和宏指令组成。
6.1对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )和(IAP)3重方法来实现。
6.2异常向量表可以来自4个不同的存储器区域,分别是(片内Flash )、(片内SRAM )、( Boot Block )和片外存储器。
6.3LPC2000系列的定时器主要用于3个方面:(对内部事件进行计数的间隔定时器)、(通过捕获输入实现脉宽解调器)、(自由运行的定时器)。
二选择题1.1可以表示微控制器的缩略词是( B )A. MPUB. MCUC. WDTD.SPI1.2ROM类存储器包括( ABD )A. NOR FlashB. EPROMC. SRAMD. PROM1.3不属于ARM的系列是( D )A. MCS-96B. 80C51C. LPC2000D.80X862.2ARM7处理器系列采用( A )级流水线。
ARM嵌入式系统结构与编程,课后练习及答案
第一章思考与练习1、举出3个书本中未提到的嵌入式系统的例子。
答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统?嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On Chip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了 32 位CPU 的多任务潜力。
第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。
识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。
提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。
执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。
结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。
2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。
需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。
嵌入式系统(第二版)第一至第五章课后答案
第一章思考与练习1、举出3个书本中未提到的嵌入式系统的例子。
答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On Chip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了32 位CPU 的多任务潜力。
第二章1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么?项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。
识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。
提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。
执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。
结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。
2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险?在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。
需求风险;时间风险;资金风险;项目管理风险3、何谓系统规范?制定系统规范的目的是什么?规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。
嵌入式课后习题答案
1、ARM微处理器内核的选择
2、系统的工作频率
3、芯片内存储器的容量
4、片内外围电路的选择
第四章
一、填空题。
1、程序段(Section)、代码段(Code Section)、数据段(Data Section)
2、:、@
3、符号定义伪指令(Symbol Definition)、数据定义伪指令(Data Definition)、汇编控制伪指令(Assembly Control)、宏指令
Linux给个人计算机带来了能够与UNIX系统相比的速度、效率和灵活性,使个人计算机所具有的潜力得到了充分发挥。Linux与Windows工作方式存在一些根本的区别,这些区别只有在用户对两者都很熟悉之后才能体会到,但它们却是Linux思想的核心。
2、目前主流的图形界面环境有KDE和GNOME两种图形环境。
arch:arch目录包括了所有和体系结构相关的核心代码。include:include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下;init:init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件;mm:mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下;drivers:drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound;ipc:ipc目录包含了核心进程间的通信代码;modules:modules目录存放了已建好的、可动态加载的模块;fs:fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录;Kernel:Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下;net:net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面;lib:lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下;scripts:scripts目录包含用于配置核心的脚本文件;documentation:documentation目录下是一些文档,是对每个目录作用的具体说明。
嵌入式系统课后习题及答案
第1章嵌入式系统基础1.什么是嵌入式系统?它由哪几部分组成?有何特点?写出你所想到的嵌入式系统。
答:(1)定义:国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
(2)组成:嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几部分组成。
(3)特点:a.软硬件一体化,集计算机技术、微电子技术、行业技术于一体;b.需要操作系统支持,代码小,执行速度快;c.专用紧凑,用途固定,成本敏感;d.可靠性要求高;e.多样性,应用广泛,种类繁多。
(4)嵌入式系统:个人数字助理(PDA)、机顶盒(STB)、IP电话。
2.嵌入式处理器分为哪几类?答:(1)低端的微控制器(MicroController Unit,MCU);(2)中高端的嵌入式微处理器(Embeded MicroProcessor Unit,EMPU);(3)通信领域的DSP处理器(Digital Signal Processor,DSP);(4)高度集成的片上系统(System on Chip,SoC)。
3.ARM英文原意是什么?它是一个怎样的公司?其处理器有何特点?答:(1)英文原意:Advanced RISC Machines。
高级精简指令集机器。
(2)公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。
ARM公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。
(3)其处理器特点:a.小体积、低功耗、低成本而高性能;b.16/32位双指令集;c.全球的合作伙伴众多。
4.什么是实时系统?它有哪些特征?如何分类?答:(1)实时系统的定义:实时系统(Real Time System)是指产生系统输出的时间对系统至关重要的系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章嵌入式系统基础
1.什么是嵌入式系统?它由哪几部分组成?有何特点?写出你所想到的嵌入
式系统。
答:(1)定义:国内对嵌入式系统的一般定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠
性、成本、体积、功耗等严格要求的专用计算机系统。
(2)组成:嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几部分组成。
(3)特点:a.软硬件一体化,集计算机技术、微电子技术、行业技术于一体;
b.需要操作系统支持,代码小,执行速度快;
c.专用紧凑,用途固定,成本敏感;
d.可靠性要求高;
e.多样性,应用广泛,种类繁多。
(4)嵌入式系统:个人数字助理(PDA)、机顶盒(STB)、IP电话。
2.嵌入式处理器分为哪几类?
答:(1)低端的微控制器(MicroController Unit,MCU);
(2)中高端的嵌入式微处理器(Embeded MicroProcessor Unit,EMPU);
(3)通信领域的DSP处理器(Digital Signal Processor,DSP);
(4)高度集成的片上系统(System on Chip,SoC)。
3.ARM英文原意是什么?它是一个怎样的公司?其处理器有何特点?
答:(1)英文原意:Advanced RISC Machines。
高级精简指令集机器。
(2)公司简介:该公司是全球领先的16/32位RISC微处理器知识产权设计供应商,通过将其高性能、低成本、低功耗的RISC微处理器、外围和
系统芯片设计技术转让给合作伙伴来生产各具特色的芯片。
ARM公司已
成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标
准。
(3)其处理器特点:a.小体积、低功耗、低成本而高性能;b.16/32位双指令集;c.全球的合作伙伴众多。
4.什么是实时系统?它有哪些特征?如何分类?
答:(1)实时系统的定义:实时系统(Real Time System)是指产生系统输出的时间对系统至关重要的系统。
(2)特征:实时性、并行性、多路性、独立性、可预测性、可靠性。
(3)分类:根据响应时间的不同,实时系统可分为3种类型:强实时系统、弱实时系统、一般实时系统。
根据确定性的不同,实时系统可分为2种类型:硬实时、软实时。
5.RTOS由哪几部分组成?它有哪些特点?与一般操作系统相比有何不同?
答:(1)组成:实时内核、网络组件、文件系统、图形用户界面。
(2)特点:a.支持异步事件的响应;b.中断和调度任务的优先级机制;c.
支持抢占式调度;d.确定的任务切换时间和中断延迟时间;e.支持同步。
(3)与一般OS的不同:
a.实时性:响应速度快,只有几微秒;执行时间确定,可预测;
b.代码尺寸小:只有10~100KB,节省内存空间,降低成本;
c.应用程序开发较难;
d.需要专用开发工具:仿真器、编译器和调试器等。
6.单片机系统、嵌入式系统和SOC系统三者有何区别和联系?
答:(1)目前嵌入式系统的主流是以32位嵌入式微处理器为核心的硬件设计和基于实时操作系统(RTOS)的软件设计;
(2)单片机系统多为4位、8位、16位机,不适合运行操作系统,难以进行复杂的运算及处理功能;
(3)嵌入式系统强调基于平台的设计、软硬件协同设计,单片机大多采用软硬件流水设计;
(4)嵌入式系统设计的核心是软件设计(占70%左右的工作量),单片机系统软硬件设计所占比例基本相同。
(5)SoC是嵌入式系统的最高实现形式,它集成了许多功能模块,它的核心技术是IP(Intellectual Property Core,知识产权核)核。
7. 无
第2章嵌入式系统开发过程
1.嵌入式系统开发过程分为哪几个阶段?每个阶段的特点是什么?
答:(1)需求分析阶段:a.对问题的识别和分析;b.制定规格说明文档;c.
需求评审。
(2)设计阶段:a.数据流分析;b.划分任务;c.定义任务间的接口。
(3)生成代码阶段:a.代码编程;b.交叉编译和链接;c.交叉调试;d.
测试。
(4)固化阶段
2.嵌入式系统有哪几种调试方式?现在最流行的是哪种?使用什么接口?
答:(1)调试方式:源程序模拟器方式、监控器方式、仿真器方式。
(2)现在最流行的是仿真器方式,使用JTAG(Joint Test Action Group,联合测试行动组)接口。
3.什么是板级支持包?它一般应完成哪些工作?
答:(1)定义:有些嵌入式操作系统的内核明确分为两层,上层一般称为“内核”,而底层则称为“硬件抽象层”或“硬件适配层”,缩写为HAL,
有的厂商将硬件抽象层称为BSP,即板级支持包(Board Support
Package)。
(2)主要完成工作:a.在系统启动时,对硬件进行初始化。
B.为驱动程序提供访问硬件的手段。
(3)主要作用:消除硬件差异。
第3章 ARM体系结构
1.ARM的英文全名是什么?ARM处理器有什么特点?
答:见第1章课后习题第3题。
2.ARM7和ARM9在流水线方面有何不同?
答:ARM7是3级流水线结构,ARM9是5级流水线结构。
AR
]M9把3级流水线中的执行阶段的操作进行再分配,即把执行阶段中的“寄存器读”插在译码阶段中完成,把“寄存器写”安排在另一级(即第5级)
完成,同时,在该级之前,再安排一级(存储访问)。
3.ARM处理器支持的数据类型有哪些?
答:(1)Byte 字节,8位;(2)Halfword 半字,16位;(3)Word 字,32位;
4.写出ARM使用的各种工作模式和工作状态。
答:(1)工作模式:
详见下表:
(2)工作状态:a.ARM:32位,这种状态下执行字对齐的ARM指令;
b.Thumb:16位,这种状态下执行半字对齐的Thumb指令。
5.ARM处理器总共有多少个寄存器?其中哪个用做PC?哪个用做LR?
答:(1)ARM处理器总共有37个寄存器:31个通用寄存器,6个状态寄存器。
(2)R15用做程序计数器PC,R14用做子程序链接寄存器LR。
6.假设R0=0x12345678,使用将R0存储到0x4000的指令存到存储器中,若存储
器为大端组织,写出从存储器0x4000处加载一个字节到R2的指令执行后R2的值。
答:由于0x4000是大端组织,所以R0存进后,0x4000中有数0x56781234,从0x4000加载一个字节到R2后(由地位到高位加载),R2的值为0x34。
7.ARM920T处理器加入了哪两个协处理器?各自的主要功能是什么?
答:ARM920T处理器加入了两个协处理器:
(1)CP14,允许软件访问调试通信通道;
(2)系统控制协处理器CP15,提供了一些附加寄存器用于配置和控制
Caches、MMU、保护系统、时钟模式和其他系统选项。
8.ARM920T支持哪些时钟模式?
答:快速总线模式、同步模式、异步模式。
9.什么是写直达和写回Cache操作,各有何特点?
答:(1)写直达:当CPU对Cache写命中时,Cache与主存同时发生写修改。
优点:一致性好;缺点:耗时。
(2)写回:当CPU对Cache写命中时,只修改Cache的内容而不立即写入主存,只当此执行被换出时才写回主存。
优点:减少访问主存次
数,提高效率。
缺点:一致性差点。
10.ARM为何集成了32位的ARM指令集和16位的Thumb指令集?(即它的好处)
答:可提供长的转移范围、强大的算术运算能力和大的寻址空间。
11.什么是big-endian和little-endian,编写一段程序测试你所用的计算机体
系结构采用哪种存储机制?
答:(1)大端存储系统(big-endian):低地址存放高字节,高地址存放低字节。
小端存储系统(little-endian): 低地址存放低字节,高地址
存放高字节。
(2)int x=0x12345678;
int *p=&x;
if(*(char*)p=0x78)
…little endian
else
…big endian
第4章 ARM系统硬件设计基础
1.一个典型的可执行映像由哪几部分组成?
答:
2.汇编和C语言的相互调用方法。
答:(1)汇编程序调用C程序的方法为:首先在汇编程序中使用IMPORT伪指令事先声明将要调用的C语言函数;然后通过BL指令来调用C函数。
(2)C程序调用汇编子程序的方法为:首先在汇编程序中使用EXPORT伪指令声明被调用的子程序,表示该子程序将在其他文件中被调用;然后
在C程序中使用extern关键字声明要调用的汇编子程序为外部函数。
(补充)3.基于ARM的硬件启动流程?
答:(1)分配中断向量表;(2)初始化存储器系统;(3)初始化各工作模式下的堆栈;(4)初始化有特殊要求的硬件模块;(5)初始化用户程
序的执行环境;(6)切换处理器的工作模式;(7)调用主应用程序。
第5章基于S3C2410的系统硬件设计
1.复习掌握:P230 I/O口编程实例。
补充:
2.中断的处理流程?
答:(1)保存现场;(2)模式切换;(3)获取中断源;(4)中断处理;(5)中端返回,恢复现场。
3.中断寄存器的作用及相关的操作?P235-237。