嵌入式原理与系统综合设计习题答案.docx
《嵌入式原理与系统综合设计习题答案.docx》由会员分享,可在线阅读,更多相关《嵌入式原理与系统综合设计习题答案.docx(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.1 什么是嵌入式系统?嵌入式系统是以应用为中心、以计算机技术为基本、软/硬件可剪裁、合用于对系统功 能、可靠性、成本、体积、功耗等有严格规定日勺专用计算机系统。1.2 嵌入式系统的应用领域有哪些?列举某些生活中的嵌入式系统实例。嵌入式系统的应用领域有交通管理、工控设备、智能仪器、汽车电子、环境监测、电子 商务、医疗仪器、移动计算、网络设备、通信设备、军事电子、机器人、智能玩具、信息家 电等;网络设备:互换机、路由器、Modem等。消费电子:手机、MP3、PDA、可视电话、电视机顶盒、数字电视、数码照相机、数 码摄像机、信息家电等。办公设备:打印机、传真机、扫描仪等。汽车电子:ABS (防死
2、锁制动系统)、供油喷射控制系统、车载GPS等。工业控制:多种自动控制设备13嵌入式系统时构成有哪些?嵌入式系统一般由硬件层,中间层,软件层三层构成。1.4 嵌入式系统的特点有哪些?嵌入式系统有如下4个特点:系统内核小、专用性强、系统精简、实时性高。1.5 简述嵌入式系统的发展。嵌入式系统具有如下6个发展趋势:系统工程化、开源化、功能多样化、节能化、人性 化、网络化。SUBS RO, R2, R4SBC RI, R3, R564位求负数RSB RO, R2, #0RSC RI, R3, #0B指令、BL指令、BLX指令和BX指令用于实现程序流程的跳转,有何异同?B指令只是做简朴的跳转;BL指令在
3、跳转之前会将目前PC寄存器的值保存在R14寄存 器(LR)中,通过LDRPC,LR语句可以返回跳转前的位置;BLX指令与BL区别在于跳转时时 候切换解决器工作状态,在ARM状态和Thumb状态间切换。3.8 简述汇编语言的程序构造。汇编语言日勺程序构造由段(section)构成;段又分为代码段和数据段;每个汇编程序至 少涉及一种代码段,零个或多种涉及初值日勺数据段,零个或多种不涉及初值的数据段。3.9 ALIGN伪操作时指令的作用是什么?什么状况下需要伪操作?在AREA伪操作中有ALIGN 属性,它与单独的ALIGN伪操作有什么不同?定义代码段和数据段的对齐方式。当某代码段的地址不是4欧I整数
4、倍欧I时候需要该伪操 作。在AREA伪操作中ALIGN属性欧I作用范畴只限定于AREA申请的区域,而单独的I ALIGN 作用范畴为该伪操作背面的所有代码。3.10 如何在C语言程序中内嵌汇编程序?如何在汇编程序中访问C程序变量?在C语言中使用如下格式来嵌套汇编代码_asm/*汇编1*/*汇编2*/)在汇编程序中访问C程序变量方式如下:1)使用IMPORT伪指令声明这个全局变量;2)使用LDR指令读取该全局变量日勺内存地址,一般该全局变量的内存地址寄存在程序时 数据缓冲池中;3)根据该数据类型,使用相应的JLDR指令读取该全局变量日勺值,使用相应欧ISTR指令修 改该全局变量时值。3.11 程
5、序设计:使用LDR指令读取0x40003100上的数据,将数据加1,若成果不不小于10则 使用STR指令把成果写回原地址,若成果不小于等于10,则把0写回原地址。然后再次读取 0x40003100上的数据,将数据加1,判断成果与否不不小于10周而复始循环。程序设计如下:_START:MAIN:LDR RO, =0X40003100LDR RI, ROADD RI, Rl,#lMOV R2, #10SUBS R3, RI, R2MOVLT R3,#0STR R3, R0B MAIN第4章4.1 S5PV210微解决器是哪种封装形式?这种封装有什么优缺陷?S5PV210芯片是584引脚日勺FCFB
6、GA封装,引脚间距0.65mm,体积为17x17mm0FCFBGA封装既能容纳较多日勺管脚,又能保证管脚间距,具有良好的电气性能。但是对 焊装时规定很高,无法手工焊装。4.2S5PV210微解决器有多少个GPIO端口?有多少GPIO引脚?S5PV210微解决器有35组GPIO端口,237个GPIO引脚。4.3 如何对复用的GPIO引脚进行配备?通过设立该引脚所属组的端口控制寄存器的相应位进行配备其功能,例如GPA0组日勺第 一种端口作为输入端口则只需要将GPAOCON日勺0-3位设立为0000即可。寄存器具体地址以 及相应位可以查询芯片手册。4.4 端口上拉寄存器的功能是什么?何种状况下需要上
7、拉?端口上拉寄存器控制了每个端口的上拉电阻时容许/严禁;当引脚端口作为输入端口时, 需要上拉,用于检测低电平信号。4.5 如何在C程序中给32位的寄存器中的某几位置1而不影响其她位的值?用位或和移位操作实现,例如将32位整型数据日勺a位、b位(a、b为整常量)置1, 可参照如下代码:x |= (la | lb);如何在C程序中给32位的寄存器中的某几位置0而不影响其她位时值?用位与和移位操作实现,例如将32位整型数据日勺a位、b位(a、b为整常量)置0, 可参照如下代码:x &= (la I lb);如何在C程序中编程检测32位寄存器中的某位与否为1?可以通过位与操作判断,例如判断a位与否为1
8、示例如下:x &= (la);if(x)/*该位为1*/else/*该位为0*/)4.6 如何在C程序中编程检测32位寄存器中的某位与否为0?可以通过位与操作判断,例如判断a位与否为0示例如下:x &= (la);if(!x)/*该位为0*/)else/*该位为1*/)第5章5.1 随机存储器和只读存储器有何区别?随机存储器数据掉电易丢失;随机存储器读写时可以从存储器任意地址处进行。只读存储器数据掉电不丢失。5.2 请解释 SRAM、DRAM 和 SDRAMoSRAM (Static Random Access Memory)静态随机存储器;DRAM (Dynamic Random Acces
9、sMemory)动态随机存储器;SDRAM (Synchronous Dynamic Random Access Memory)同步动 态随机存储器。5.3 简述内存管理单元的作用。地址存储单元(MMU)重要有两个作用:实现虚拟地址向物理地址U勺映射,即管理 地址重定位;管理访问权限。5.4 试描述ARM存储器管理的分页功能和解决流程。ARM存储管理器将物理地址和虚拟地址都划分一块块日勺小空间,这种划提成为分页; CPU访问的地址空间为虚拟地址空间,而存储器相应时是物理地址空间。当CPU去访问一 种虚拟地址空间的时候,如下图所示,MMU会找到该虚拟地址空间的所属页,然后根据预 先设立好的相应规
10、则去寻找相应的I物理地址的所属页,在物理页的基本上加上偏移量从而完 毕虚拟地址向物理地址的映射。一般状况下虚拟地址空间不小于物理地址空间,因此有也许 多块虚拟地址映射到同一物理地址,也有也许没有映射到物理地址,当用到该虚拟地址时才 得到映射。CPU操作虚拟地址 找到该庠乡地址所映射至物理地址页物理地址加偏移量MMU解决流程5.5 嵌入式系统的初始化过程涉及哪些环节?嵌入式系统初始化涉及两大步:初始化运营环境,初始化应用程序。在初始化运营环境的时候应当完毕如下工作:标记初始化代码日勺入口;设立异常向量表、 中断向量表;初始化存储器系统;初始化堆栈指针;初始化某些核心的I/O 口;初始化中断系统
11、需要的RAM变量;使能中断;如果需要,切换解决器模式;如果需要,切换解决器状态。在初始化应用程序的时候应当完毕如下工作:通过复制初始化数据到可写数据段来初始 化非0可写数据;对ZI数据段清零;存储器初始化后,程序控制权交给应用程序的入口,如C运营时库。5.6 简述S5PV210微解决器进行内存映射的机制。S5PV210日勺虚拟地址由虚拟页号和页内偏移量两部分构成。MMU根据虚拟页号查找 Translation Table找到虚拟页号相应由J物理页,然后加上页内偏移量即可得到虚拟地址相应 的物理地址。例如如果虚拟地址的页内偏移量为4K,则需要12位来表达,即虚拟地址的低 12位表达页内偏移量,其
12、他高20位保存着映射关系的信息(如段式转化,粗细页转化,细 页转化等转化方式,以及虚拟地址的J页信息,映射方式,访问控制位等信息)。这些信息可 以查阅cortex-a8的I手册。5.7 读如下程序,阐明程序功能.text.global _start_start:Idr rO, = 0xE2700000mov rl, #0str rl, rOIdr sp, = 0xD0037D80;设立栈,以便调用c函数Idr rO, = mainIdr rl, = 0xD0030000;0xd0030000 目的地址Idr r2, = redirt_endcmp rO, rlbeq run_on_dram c
13、opyjoop:Idr r3, rO, #4 ;源str r3, rl, #4;目的cmp rO, r2bne copyjooprun_on_dram:Idr pc, = 0xD0030008;跳转halt:b halt该段代码完毕的功能是代码的J复制以及重定位:将以标号main开始到redirt.end这段 地址空间的I代码复制到以0xD0030000 (RAM起始地址)为起始地址的存储区域。如果标号 main的I地址正好等于0xD0030000就跳过复制,直接到RAM中去执行。5.8 读如下电路图,阐明该内存单元应当如何和S5PV210微解决器进行硬件连接?如何进 行虚拟内存地址映射?(图
14、略)略第6章6.1 简述嵌入式系统通过查询方式和中断方式获取数据的特点。程序查询方式:操作简朴,但由于解决器始终查询I/O端口或部件的状态,因此解决器 日勺效率非常低。中断方式:CPU在中断信号到来时决定与否解决该中断,解决完毕后返回中断前日勺程序, 继续执行效率高,但实现相对于查询方式复杂。6.2 请论述ARM时异常向量表的I构造。在ARM体系中,有7种异常解决。当异常发生时,解决器会把PC设立为一种特定的存 储器地址。这一地址被放在异常向量表中。异常向量表涉及一系列不能修改的指令,用以跳 转到各异常口勺响应程序。ARM 口勺异常向量表由异常类型相应的跳转指令构成。6.3 软中断指令中的中断
15、号可以通过哪几种方式获取?软中断指令中日勺中断号可以通过如下两种方式获取:SWI指令后的24位立即数; SWI指令后的24位立即数被忽视,中断号保存在R0寄存器中。6.4 IRQ中断和FIQ中断发生时,解决器进行哪些工作?IRQ中断和FIQ中断发生时的I解决环节如下:1)初始化微解决器中断有关的寄存器,开放中断;2) I/O端口或部件完毕数据操作后产生中断祈求信号;3)当中断祈求信号有效时,微解决器也许处在不可中断状态,等微解决器容许中断时保存 目前状态,停止它现行的操作并开始进行中断源的辨认;4)在辨认出优先级最高的中断源后,微解决器转到相应的中断服务例程入口,并应答中 断0端口或部件收到应
16、答信号后,撤销其中断祈求;5)微解决器读入或写出数据,当中断服务例程结束后,返回到本来的被中断程序处继续执 行。6.5 中断解决完毕后,解决器是如何回到本来的程序断点处的?中断解决程序中一方面应当保存现场(中断之前的现场,涉及程序状态寄存器(CPSR), PC的J指向等);在中断服务程序执行完毕之后,就要恢复现场,即重新加载PC,寄存器等。 从而回到本来的程序断点处。事实上,当异常发生时,分组寄存器R14和SPSR用于保存解决器状态,异常返回时, SPSR内容恢复到CPSR,连接寄存器R14恢复到程序计数器PCo什么是向量中断控制器?其重要工作是什么?向量中断控制器(Vectored Inte
17、rrupt Controller),是中断控制器欧J构成部分。S5PV210 的中断控制器有4个向量中断控制器(VIC)。向量中断控制器的重要工作是:支持93个向量IRQ中断;配备中断优先级;硬件中断优先级屏蔽;产生IRQ与FIQ;产生软件中断;限制访问特权模式等。6.6 请解释中断优先级仲裁。若嵌入式系统中有多种中断源,则这些中断源必须要进行中断优先级区I排列。所谓优先 级仲裁,指的是如下两层含义:1)若有2个及2个以上的中断源同步提出中断祈求,微解决器先响应哪个中断源,后 响应哪个中断源。2)若1个中断源提出中断祈求,得到响应后,又有1个中断源提出中断祈求,后来的 中断源能否中断前一种中断
18、源的中断服务程序。6.7 在对图6-1所示硬件电路进行中断编程时,如果没有在starts中定义异常向量表,那么 中断可以正常被响应吗?为什么?不能。如果为未定义异常向量表,则CPU跳转到向量入口地址之后不懂得接下该执行 哪里的代码,无法对的跳转到中断服务程序中,因此不能正常响应。第7章7.1 简述通用定期器工作原理。通用定期器内部工作原理:以一种N位日勺加1或减1计数器为核心,计数器欧J初始值 由初始化编程设立,计数脉冲的I来源有系统时钟或外部事件脉冲。若编程设立定期/计数器 为定期工作方式时,则N位计数器的计数脉冲来源于内部系统时钟,并通过M分频。每个 计数脉冲使计数器加1或减1,当N位计数
19、器里H勺数加到0或减到0时,则会产生一种“回 0信号”,该信号有效时表达N位计数器里的目前值是0。由于系统时钟的频率是固定的,其 M分频后所得到的计数脉冲频率也就是固定的,因此通过对该频率脉冲的计数就转换为定 期,实现了定期功能。若编程设立定期/计数器为计数方式时,则N位计数器的计数脉冲 来源于外部事件产生日勺脉冲信号。有一种外部事件脉冲,则计数器加1或减1,直到N位 计数器中时值为0,产生“回0信号”。7.2 什么是ARM的脉宽调制定期器?S5PV210有5个32位双缓冲脉冲宽度调制定期器。配合定期器计数缓冲寄存器TCNTBn 和定期器比较缓冲寄存器TCMPBn,可以很以便地实现脉宽调制功能
20、,因此被称为脉宽调制 定期器。7.3 如何对S5PV210微解决器的定期器时钟进行分频?定期时间如何计算?定期器。和1共用一种可编程8位分频器,该分频器为PCLK提供第一层分频,定期器 2,3,4共用一种不同的8位分频器。每个定期器均有自己的专用时钟分频器提供第二层分频 (又称分割器,可提供124,8,16分频)。定期时间二计数器初值*定期器时钟频率。7.4 试编写定期器控制蜂鸣器鸣叫频率和占空比的程序。参照代码如下:(篇幅有限,在此只给出核心代码供参照)void timer_init(unsigned long utimer,unsigned long uprescaler,unsigned
21、 long udivider,unsigned long utcntb,unsigned long utcmpb)(unsigned long tempo;/ 定期器的J输入时钟=PCLK / (prescaler value + 1) / divider value = PCLK/(65+l)/16=62500hz设立预分频系数为66tempO = TCFGO;tempO = (tempO & (OxffOOff) | (uprescaler-l)O);TCFGO = tempO;/16分频tempO = TCFG1;tempO = (tempO & (0xf4*utimer)& (l20)
22、 |(udivider4*utimer);TCFG1 = tempO;/Is = 62500hz常用的嵌入式解决器分为哪几类?常用的嵌入式解决器有一下四类:嵌入式微解决器、嵌入式微控制器、嵌入式DSP解 决器、嵌入式片上系统。1.6 嵌入式操作系统的特点有哪些?嵌入式操作系统有如下6个特点:系统内核小、专用性强、系统精简、高实时性、多任 务日勺操作系统、需要专用开发工具和环境。1.7 什么是实时操作系统? IEEE实时UNIX分委会觉得实时操作系统应具有哪些特点?实时操作系统是指在限定的时间内能对过程调用产生对时的响应区I操作系统。IEEE区) 实时UNIX分委会觉得实时操作系统应具有如下特点
23、:异步日勺事件响应、切换时间和中断延 迟时间拟定、优先级中断和调度、抢占式调度、内存锁定、持续文献、同步。1.9常用的嵌入式操作系统有哪些?它们各有什么特点?操作系统特点uCLinux遵守GNU/GPL,完全开源;移植性好;网络功能优秀;支持多文献系 统;API接口丰富。Android良好的平台开放性、可以实现个性化应用设定和与Google应用日勺无缝 结合。Windows CE与Windows系列有较好的兼容性;能在多种解决器体系构造上运营; 采用模块化设计;没有开放源代码;耗费内存。Vx Works支持多种解决器;具有先进的网络功能;具有良好的可靠性、卓越的实 时性、高效时可裁剪性。Nuc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 原理 系统 综合 设计 习题 答案
限制150内