嵌入式系统课后习题部分答案

合集下载

(完整版)嵌入式系统课后答案马维华

(完整版)嵌入式系统课后答案马维华

第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,简述软,硬件协同设计的过程.⑴需求分析; ⑵软,硬件协同设计; ⑶软,硬件实现; ⑷软,硬件协同测试和验证。

嵌入式习题答案(DOC)

嵌入式习题答案(DOC)

第一章习题答案1.什么是嵌入式系统?请列举几个常见的嵌入式系统。

答:根据国际电气和电子工程师协会(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.简述简单嵌入式系统与复杂嵌入式系统的主要区别。

答:简单嵌入式系统很早就已经存在,这类嵌入式系统因为软硬件复杂度都很低,一般不使用操作系统,例如常用的单片机系统。

对于复杂的嵌入式系统,它的开发模式发生了极大的改变。

一个复杂的嵌入式系统不仅硬件系统的开发比单片机复杂了许多,更重要的是在该系统中采用了嵌入式操作系统,其应用软件的开发转变为使用操作系统标准接口的计算机工程领域的应用软件开发。

ARM嵌入式系统结构与编程习题答案(全).

ARM嵌入式系统结构与编程习题答案(全).

《ARM嵌入式系统结构与编程》习题答案第一章绪论1.国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机系统。

从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的剪裁利用。

因此有人把嵌入式系统比作是一个针对特定的应用而“量身定做”的专业计算机系统。

2.嵌入式系统是从何时产生的,简述其发展历程。

答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。

嵌入式系统的出现最初是基于单片机的。

Intel公司1971年开发出第一片具有4位总线结构的微处理器4004,可以说是嵌入式系统的萌芽阶段。

80年代初的8051是单片机历史上值得纪念的一页。

20世纪80年代早期,出现了商业级的“实时操作系统内核”,在实时内核下编写应用软件可以使新产品的沿着更快,更节省资金。

20世纪90年代实时内核发展为实时多任务操作系统。

步入21世纪以来,嵌入式系统得到了极大的发展。

在硬件上,MCU的性能得到了极大的提升,特别是ARM技术的出现与完善,为嵌入式操作系统提供了功能强大的硬件载体,将嵌入式系统推向了一个崭新的阶段。

3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。

答:主要有嵌入式Linux和嵌入式实时操作内核uC/OS-II嵌入式Linux操作系统是针对嵌入式微控制器的特点而量身定做的一种Linux操作系统,包括常用的嵌入式通信协议和常用驱动,支持多种文件系统。

主要有以下特点:源码开放,易于移植,内核小,功能强大,运行稳定,效率高等。

uC/OS是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。

周立功版嵌入式课后习题答案

周立功版嵌入式课后习题答案

周立功版嵌入式课后习题答案第一章嵌入式系统概述一、举出3个课本中未提到的嵌入式系统的例子。

(红绿灯控制、数字空调、机顶盒) 二、什么是嵌入式系统,特点是,答:嵌入式系统是嵌入到对象体系中的专用计算机应用系统。

英国电机工程师协会定义:嵌入式系统为控制、检测或辅助某个设备、机器或工厂运作的装置。

(1)以技术角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

(2)从系统角度的定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。

术语嵌入式反映了这些系统通常是大系统中的一个完整的部分,称为嵌入的系统。

嵌入的系统中可以共存多个嵌入式系统。

特点:1、嵌入式系统通常应用在为特定用户设计的系统中,具有功耗低、体积小、集成度高等特点。

将通用CPU中由板卡完成的任务集成在了嵌入式CPU内部。

2、嵌入式系统是将先进的计算机技术、半导体技术和电子技术于各个行业的具体应用相结合的产物。

所以是技术密集、资金密集、高度分散、不断创新的知识集成系统。

3、嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣,去除冗余。

4、为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或处理器芯片中,而不是存储于磁盘等载体中。

由于嵌入式系统必须有较高的时实性,因此对程序的质量,特别是可靠性有较高的要求。

5、嵌入式系统本身不具备自举开发能力,必须有一套专用的开发工具和环境才能进行开发。

三、什么叫嵌入式处理器,嵌入式处理器分为哪几类,答:嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元,与普通台式计算机的微处理器相比,其工作稳定性更高,功耗较小,对环境(如温度、湿度、电磁场、震动等)的适应能力更强,体积更小,且集成的功能较多。

嵌入式处理器从应用角度,可以大致分为以下几类:1.注重嵌入式处理器的尺寸、能耗和价格。

ARM嵌入式系统基础教程课后习题答案

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章嵌入式系统概论1.嵌入式系统具有什么特点?举出3个嵌入式系统的实例。

答:嵌入式系统具有特点是以应用为中心, 以计算机技术为根底, 软件硬件可裁剪, 适应应用系统对功能, 牢靠性, 本钱, 体积, 功耗严格要求的专用计算机系统。

智能仪器仪表, 导弹, 汽车限制系统, 机器人, ATM 〔Automatic Teller Machine〕, 信息家电, 智能手机等内部都有嵌入式系统。

2.嵌入式系统的开展经验了哪些阶段?答:嵌入式系统的开展经验了以下四个阶段:无操作系统阶段, 简单操作系统阶段, 实时操作系统阶段, 面对Internet 阶段。

3.画出嵌入式系统的开发流程图。

图1-1 嵌入式系统开发流程4.嵌入式操作系统有哪些?举出4个实例,并说明特点。

答:嵌入式操作系统主要有嵌入式Linux, Windows CE, VxWorks, Palm OS以及µC/OS-Ⅱ等。

(1)嵌入式Linux在嵌入式领域的特点:①.Linux是开放源代码的,不存在黑箱技术,遍布全球的Linux爱好者为Linux供应强大的技术支持;②.Linux属于微内核操作系统,内核小, 效率高, 运行稳定, 可裁剪性好,并且更新速度很快;③.Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统;④.Linux具有及生俱来的强大的网络功能,支持各种网络连接方式,很适合作为面对Internet的新一代嵌入式产品的操作系统;⑤.Linux具有丰富的软件开发工具,能够满意嵌入式系统中软件局部的开发要求。

(2)Windows CE在嵌入式领域的特点:Windows CE具有模块化, 构造化和基于Win32应用程序接口和及处理器无关等特点。

不仅继承了Windows优秀的图形界面,而且可以直接运用Windows 95/98上的编程工具〔如VisualBasic, Visual C++等〕进展应用程序开发,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上接着运用。

嵌入式系统设计大学教程习题与解答

嵌入式系统设计大学教程习题与解答

嵌入式系统设计大学教程习题与解答第1章嵌入式系统设计基本概念(绪论)1、嵌入式系统的定义是什么?你是如何理解嵌入式系统的? (P3)答:嵌入式系统一般定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊规定的专用计算机系统。

一个嵌入式系统就是一个硬件和软件的集合体,它涉及硬件和软件两部分。

其中硬件涉及嵌入式解决器/控制器/数字信号解决器(DSP)、存储器及外设器件、输入输出(I/O)端口、图形控制器等;软件部分涉及操作系统软件(嵌入式操作系统)和应用程序(应用软件),由于应用领域不同,应用程序千差万别。

2、列出并说明嵌入式系统不同于其他计算机系统的重要特性。

(P3~P4)答:重要特性有:•系统内核小:由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较传统的操作系统要小得多。

•专用性强:嵌入式系统通常是面向特定任务的,个性化很强,其中软件系统和硬件的结合非常紧密,一般要针对硬件进行软件系统的移植。

•运营环境差异大:嵌入式系统使用范围极为广泛,其运营环境差异很大。

•可靠性规定高:嵌入式系统往往要长期在无人值守的环境下运营,甚至是常年运营,因此对可靠性的规定特别高。

•系统精简和高实时性操作系统:•具有固化在非易失性存储器中的代码:为了系统的初始化,几乎所有系统都要在非易失性存储器中存放部分代码(启动代码)。

为了提高执行速度和系统可靠性,大多数嵌入式系统经常把所有代码(或者其压缩代码)固化,存放在存储器芯片或解决器的内部存储器件中,而不使用外部存储介质。

•嵌入式系统开发工作和环境:嵌入式系统开发需要专门的开发工具和环境。

3、简述嵌入式系统的体系结构。

(P5)答:嵌入式系统自底向上包含四个部分:硬件平台、嵌入式实时操作系统(RTOS)、硬件抽象层(HAL)和嵌入式实时应用程序。

硬件抽象层位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。

嵌入式系统(第二版)第一至第五章课后答案

嵌入式系统(第二版)第一至第五章课后答案

第一章思考与练习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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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,程序计数器)。

2-3.什么寄存器用于存储PC和LR寄存器?寄存器R15称为程序计数器(ProgramCounter,PC),寄存器R14又被称为连接寄存器(Link Register,LR)。

2-4.R13通常用来存储什么?R13(the Stack Point,SP,栈指向),用于存储堆栈指针。

2-5.系统模式使用的寄存器最少。

(不确定)2-6.CPSR的(第5位T位)反映了处理器的状态。

P152-7.ARM有哪几个异常类型?P20ARM体系结构中,存在7种异常处理。

复位异常、未定义指令异常、软中断、预取指令异常、数据访问中止异常、外部中断请求、快速中断请求。

2-8.复位后,ARM处理器处于何种模式、何种状态?ARM状态?!(不清楚)2-9.BIC指令有什么作用?BIC(Bit Clear)位清零指令,将寄存器Rn的值与第2个源操作数shifter_operand的值的反码按位做“逻辑与”操作,结果保存到Rd中。

指令的语法格式BIC{<cond>}{S} <Rd>,<Rn>,<shifter_operand>2-10.当指令SWI指令时,会发生什么?软件中断指令(Software Interrupt,SWI)用于产生软中断,从而实现从用户模式变换到管理模式,CPSR保存到管理模式的SPSR中,执行转移到SWI向量,在其他模式下也可以使用SWI指令,处理器同样切换到管理模式。

3-2.如何从ARM状态切换到Thumb状态?P54对于汇编程序来说,可以有两种方法来实现程序状态的切换。

第一种方法是利用连接器提供的交互子程序Veneer来实现程序状态的切换,这时用户可以使用指令BL来调用子程序;第二种方法是用户自己编写状态切换的程序。

BX指令ARM状态下的BX指令,使程序跳转到指令中指定的参数Rm所指定的地址执行程序,Rm的第0位复制到CPSR 中的T位,bits[31∶1]移入PC。

指令的语法格式如下:BX{<cond>} <Rm>3-3.在ARM汇编中如何定义一个全局的数字变量?P61GBLA、GBLL和GBLS伪操作用于定义一个ARM程序中的全局变量并将其初始化。

其中GBLA伪操作用于定义一个全局的数字变量并初始化为0。

格式为:GBLA <variable>3-5.AAPCS过程调用标准的内容是什么?(书上没有,一下为网上收集的内容,如果有听课的同学,请更正并通知大家)过程调用标准ATPCS(ARM-Thumb Produce Call Standard)规定了子程序间相互调用的基本规则,ATPCS规定子程序调用过程中寄存器的使用规则、数据栈的使用规则及参数的传递规则。

●寄存器使用规则(1)子程序间通过寄存器R0~R3传递参数,寄存器R0~R3可记作A1~A4。

被调用的子程序在返回前无须恢复寄存器R0~R3的内容。

(2)在子程序中,ARM状态下使用寄存器R4~R11来保存局部变量,寄存器R4~R11可记作V1~V8;Thumb 状态下只能使用R4~R7来保存局部变量。

(3)寄存器R12用作子程序间调用时临时保存栈指针,函数返回时使用该寄存器进行出栈,记作IP;在子程序间的链接代码中常有这种使用规则。

(4)通用寄存器R13用作数据栈指针,记作SP。

(5)通用寄存器R14用作链接寄存器;(6)通用寄存器R15用作程序计数器,记作PC 。

●数据栈使用规则过程调用标准规定数据栈为FD类型,并且对数据栈的操作时要求8字节对齐的。

●参数传递规则1.参数个数可变的子程序参数传递规则对于参数个数可变的子程序,当参数个数不超过4个时,可以使用寄存器R0~R3来传递;当参数个数超过4个时,还可以使用数据栈进行参数传递。

2.参数个数固定的子程序参数传递规则如果系统不包含浮点运算的硬件部件且没有浮点参数时,则依次将各参数传送到寄存器R0~R3中,如果参数个数多于4个,将剩余的字数据通过数据栈来传递;如果包括浮点参数则要通过相应的规则将浮点参数转换为整数参数,然后依次将各参数传送到寄存器R0~R3中。

如果参数多于4个,将剩余字数据传送到数据栈中,入栈的顺序与参数顺序相反,即最后一个字数据先入栈。

⏹如果系统包含浮点运算的硬件部件,将按照如下规则传递:各个浮点参数按顺序处理为每个浮点参数分配寄存器。

分配方法是:找到编号最小的满足该浮点参数需要的一组连续的FP寄存器进行参数传递。

⏹子程序结果返回规则(1)结果为一个32位的整数时,通过寄存器R0返回;结果为一个64位整数时,通过寄存器R0,R1返回。

(2)结果为一个浮点数时,可以通过浮点运算部件的寄存器F0、D0或者S0来返回;结果为复合型的浮点数(如复数)时,可以通过寄存器F0~Fn或者D0~Dn来返回。

(3)对于位数更多的结果,需要通过内存来传递。

3-7.汇编代码中如何调用C代码中定义的函数?P90如C中定义函数int g(int,int,int);先在汇编程序开始处声明C程序g(),如:IMPORT g汇编中调用指令为:BL g网上资料:在ARM开发工具编译环境下,汇编程序中要使用IMPORT伪操作声明将要调用的C程序。

主要考ARM汇编指令实验一、二基本上是MOV、LDR、STR指令的应用。

P110第五章5-4.Nor Flash的特点是什么?P134(以上为网上的说法)Flash存储器是一种可在系统(In-System)进行电擦写,掉电后信息不丢失的存储器。

它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程(烧写)、擦除等特点,并且可由内部嵌入的算法完成对芯片的操作。

1)Nor Flash带有通用的SRAM接口,可以轻松的挂接在CPU的地址、数据总线上,对CPU接口要求低。

其特点是芯片内执行(XIP),这样,应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。

2)容量较小,一般在1~16M之间,但是价格要比Nand Flash高。

3)不存在坏块问题,位翻转现象出现的几率较小。

4)寿命:擦写次数在十万次。

5)其升级比较麻烦,更换不同容量的器件时不方便。

6)读写性能:要求在进行擦除前先要将目标块内所有的位都写为1.,执行一个写入/擦除操作的时间约为5s,而Nand为4ms,但是读速度稍快一些。

5-5.比较Nand Flash和Nor Flash的不同。

(同上,见P134)6方面不同1.接口对比2.容量和成本对比3.可靠性对比4.寿命对比5.升级对比6.读写性能对比本章还会考察存储空间细节,OM引脚设置。

第六章主要考6.1实验程序,应该会考IO口的数据赋值(见P150)。

void led_on(void){int i,nOut;nOut = 0xF0;//rGPFDAT=nOut & 0x10;rGPFDAT=nOut & 0xd0; //该形式的语句为赋值语句。

for(i=0;i<100000;i++);rGPFDAT = nOut & 0x50; //0x70for(i=0;i<100000;i++);rGPFDAT=nOut & 0x40; //0x00for(i=0;i<100000;i++);rGPFDAT=nOut & 0x00; //0x30for(i=0;i<100000;i++);rGPFDAT=nOut ;}第七章7-3.简述Bootloader的作用。

(P208,并且注意其组成及结构。

)Bootloader是在操作系统运行之前执行的一段小程序。

通过这段小程序,我们可以初始化硬件设备、建立内存空间的映像表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。

对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。

嵌入式系统世界已经有各种各样的Bootloader,种类划分也有多种方式。

除了按照处理器体系结构不同划分以外,还有功能复杂程度的不同。

7-8.利用NFS调试新文件系统有什么好处?(P253,还要熟悉其搭建过程和指令)包括以下几个方面:1)本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到。

2)用户不必在每个网络上机器里头都有一个home目录。

Home目录可以被放在NFS服务器上并且在网络上处处可用。

3)诸如软驱、CD-ROM之类的存储设备可以在网络上面被别的机器使用。

这可以减少整个网络上的可移动介质设备的数量。

相关文档
最新文档