《嵌入式系统设计》复习_第1页
《嵌入式系统设计》复习_第2页
《嵌入式系统设计》复习_第3页
《嵌入式系统设计》复习_第4页
《嵌入式系统设计》复习_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式系统设计复习希望大家能够认真复习,以下资料仅供复习参考。知识点第一章1. 嵌入式系统定义嵌入式系统是以应用为中心, 以计算机技术为基础, 并且软硬件可裁剪, 嵌入在应用系统中, 并满足于应用系统对功能、可靠性、 成本、 体积、 功耗有严格要求的专用计算机系统。2. “嵌入性” 、 “专用性” 与 “计算机系统” 是嵌入式系统的三个基本要素。3. 嵌入式系统和通用计算机系统相比, 具有以下特征:(1)嵌入式系统具有特定的功能, 用于特定的任务(2)嵌入式系统极其关注成本(3)嵌入式系统大都有功耗的要求(4)嵌入式系统通常有实时的要求(5)嵌入式系统的运行环境广泛(6)嵌入式系统的软件通常要

2、求固态化存储(7)嵌入式系统的软件、 硬件可靠性要求更高(8)相关产品具有较长的生命周期(9)专门开发工具的支持(10)软硬件协同开发4. 嵌入式系统发展趋势1).嵌入式系统的开发需要强大的开发工具和操作系统的支持2).联网成为必然趋势, 支持灵活的网络联接3).支持小型电子设备实现小尺寸、 微功耗和低成本4).提供丰富多样的人机交互接口5). “无所不在的智能” (Ambient Intelligence)6).行业性嵌入式软硬件平台促进行业标准的形成5. 嵌入式系统的应用工业控制:交通管理:信息家电:家庭智能管理系统:POS网络及电子商务:环境工程与自然:机器人:6. 嵌入式系统组成从系统

3、的组成来看,复杂的嵌入式系统和通用计算机没有本质差别,嵌入式系统的概念及特征也没有强调它与通用计算机系统在组成上有明显区别。但是简单的嵌入式系统在系统组成有了一定的简化,如图所示,简单的嵌入式系统在软件方面并不包括操作系统。这是由于在这样的系统中硬件资源不足以支撑操作系统,或者系统任务比较简单不需要操作系统提供系统支持。7. 嵌入式系统与物联网的关系1)嵌入式系统的互联是相互关联的嵌入式系统之间进行信息交换, 其目的仍然是为了人们可以更加方便的方式了解和控制物理对象。2)物联网建设以及现在国家对提升自身核心竞争力的大力提倡, 给国内嵌入式系统行业带来的机遇不言而喻。3)物联网对嵌入式系统的要求

4、:物联网要求开放的嵌入式系统;物联网要求可靠和确定的嵌入式系统;物联网要求嵌入式系统向多功能、 低功耗、 低成本和微型化的方向发展。第二章8. 冯·诺伊曼计算机具有以下几个明显特征:在数据和指令之间没有本质差别数据没有固有含义数据和指令共享同一内存内存是存储单元的线性 (一维空间) 排列9. 哈佛 (Harvard) 结构是一种将程序指令存储和数据存储分开的存储器结构。10. RISC体系结构的特点1)RISC的着眼点不是简单地放在简化指令系统上, 而是通过简化指令系统使计算机的结构更加简单合理, 从而提高运算效率。2)在RISC中, 优先选取使用频率最高的、 很有用但不复杂的指令,

5、 避免使用复杂指令;3)固定指令长度, 减少指令格式和寻址方式种类;4)指令之间各字段的划分比较一致, 各字段的功能也比较规整;5)采用Load/Store指令访问存储器, 其余指令的操作都在寄存器之间进行;6)增加CPU中通用寄存器数量, 算术逻辑运算指令的操作数都在通用寄存器中存取;7)大部分指令控制在一个或小于一个机器周期内完成;8)以硬布线控制逻辑为主, 不用或少用微程序控制;9)采用高级语言编程, 重视编译优化工作, 以缩短程序执行时间。11. 流水线技术是将一个重复的时序分解成若干个子过程, 而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。12. 在典型的三级流水中,

6、指令执行过程被分解为三个步骤,分别是:取指(fetch)、解码(decode)和执行(execute)。13. 经典RISC流水线将指令操作分为五个流水级,这五级流水分别是:读取指令(Instruction fetch)、指令解码与读取寄存器(Instruction decode and register fetch)、执行(Execute)、存储器访问(Memory access)和写回寄存器(Register write back)。14. 信息存储的字节顺序某些机器选择在存储器中按照从最低有效字节到最高有效字节的顺序存储对象,这种低字节数据存放在内存低地址处,高字节数据存放在内存高地址处

7、方式被称为小端存储法(little endian);某些机器则按照从最高有效字节到最低有效字节的顺序储存,这种低字节数据存放在内存高地址处,高字节数据存放在内存低地址处的方式被称为大端存储法(big endian)。15. I/O地址空间为I/O设备设置了单独的地址空间,并且有单独的指令来访问这样的空间,这就是I/O端口映射方式,相应的I/O称为端口映射I/O。然而,大多数处理器在设置地址空间时并不区分存储设备和I/O设备,I/O设备和存储设备的地址存在于相同的线性空间内,使用相同的指令对这两种设备进行访问,这就是I/O内存映射方式,相应的I/O称为内存映射I/O。16. 中断是指中央处理器接

8、收到的来自外部硬件(相对于中央处理器和内存)或软件的信号,信号的目的是立即引发处理器的关注,并进行相应的硬件或软件处理。软件中断是由中央处理器内部的异常条件触发或是由特殊指令触发的中断,前者称为异常(exception),后者被称为陷入(trap)。由外部设备引发的中断称为硬件中断,由于硬件中断与处理器当前正在运行的指令执行不相关,因此硬件中断是一个异步事件。17. 中断控制器或处理器如何确认中断请求线上是否有中断信号,也就是外设如何触发中断,触发中断常见的方式有:电平触发/边沿触发/混合模式18. 中断处理过程1)中断处理的前期准备2)处理器检查是否有中断信号3)定位中断处理程序入口4)保护

9、当前程序的现场5)中断服务程序执行6)中断服务程序处理完毕19. 从嵌入式处理器的应用角度及嵌入式处理器的发展历史,大致可以将嵌入式处理分为五类,分别是:嵌入式微处理器(EMPU)、嵌入式微控制器(MCU)、嵌入式数字信号处理器(DSP)、嵌入式片上系统(SoC)和可编程片上系统(SOPC)。20. 在为嵌入式实时系统选择处理器时需要考虑以下几个方面:性能和资源实现工具支持操作系统支持仿真支持是否内置调试工具供应商是否提供评估板应用支持成本功耗传统代码算法复杂性延续性和继承性上市时间第三章21. 存储器作为计算机的记忆核心,主要有如下几方面的作用:存储器是计算机中信息存储的核心。存储器是CPU

10、与外界进行数据交换的窗口。存储器与CPU有机结合,可以使系统达到高速、准确运算的目的。22. 在最高层次上,存储器可以划分为textbf易失性存储器( Volatile Memory)和textbf非易失性存储器(Non-volatile Memory)两大类。23. 计算机系统的存储器被组织成一个金字塔形的层次结构,如图所示。在这个层次结构中,自上而下,依次为CPU的内部寄存器、芯片内部的高速缓存(Cache)、主存(DRAM、DDRAM)、辅存(Flash、PROM、EPROM、EEPROM、磁盘、光盘、CF、SD卡)和远程二级存储(分布式文件系统、Web服务器)这5个层次的结构。这些设备

11、从上而下,依次变得速度更慢、访问频率更小、容量更大,并且单位字节的成本也更加低廉。这种存储器分层结构的充分考虑了空间效率和时间效率的优化,从而最大程度的提高系统的整体效率,并降低了系统成本。24. 为了提高存储器系统的性能,在主存储器和CPU之间采用高速缓冲存储器(Cache)。Cache被广泛用来提高内存系统性能,许多微处理器体系结构都把它作为其定义的一部分。如果正确使用,Cache能够减少内存平均访问时间。Cache提高了内存访问的可变性,即Cache中的访问速度最快,而访问不在Cache中的单元会慢一些。25. 这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就

12、称为程序的局部性原理。程序的局部性表现在两个方面:1)时间局部性:刚被访问过的数据近期被再次被访问的可能性很大;2)空间局部性:数据刚被访问过,那么它周围的数据近期被访问的可能性很大。26. MMU主要完成以下工作:虚拟存储空间到物理存储空间的映射。采用了页式虚拟存储管理,它把虚拟地址空间分成一个个固定大小的块,每一块称为一页,把物理内存的地址空间也分成同样大小的页。MMU实现的就是从虚拟地址到物理地址的转换。存储器访问权限的控制。设置虚拟存储空间的缓冲的特性。27. 在使用当中,NOR型闪存和NAND型闪存之间的比较:NOR的读速度比NAND稍快一些。NAND的写入速度比NOR快很多。NAN

13、D的擦除速度远比NOR快。NAND的擦除单元更小,相应的擦除电路更加简单。NAND的实际应用方式要比NOR复杂的多。NOR可以直接使用,并在上面直接运行代码,而NAND需要I/O接口,因此使用时需要驱动。28. 外存储器也称辅助存储器,简称外存或辅存。外存主要指那些容量比主存大、读取速度较慢、通常用来存放需要永久保存的或相对来说暂时不用的各种程序和数据的存储器。29. CPU直接可寻址的内存地址空间是指处理器的访存指令能够访问的地址空间,这个空间称为内存地址空间或主存地址空间。主存储器器一般采用空间小、访问速度快的存储器件,如SRAM和DRAM等。第四章30. 计算机系统中的输入输出(Inpu

14、t/Output,缩写:I/O)就是系统中实现和承担数据交换能力的部件,I/O又划分为I/O接口(I/O interface)和I/O外设(I/O Peripherals),它们共同合作完成输入输出的功能。I/O接口通常是指输入输出的物理连接形式、电气规格和逻辑信号等,常见的I/O接口如:UART、SPI、以太网等。I/O外设,也称I/O周边设备或I/O外部设备,是能够通电并正常运行的计算机的非必须硬件设备。它们可以独立或半独立工作而不依赖于计算机,通常可以扩展或提高所接入的计算机的功能或性能。典型的I/O外设有键盘、LED、LCD、AD转换器、DA转换器等。31. I/O接口根据数据发送方式

15、,又分为串行接口和并行接口。串行接口在每个传输方向上使用一根传输线,所有的串口都要在发送数据端将并行数据转换为串行比特流,而在接收端反过来,也就是将串行比特流转换为并行数据。并行接口在设备之间使用多根传输线,数据的每个位同时从发送端传输到接收端,并行接口无需进行串并转换,这样数据传送速度会有一定提高。32. UART的作用如下:1)处理数据总线和串行口之间的串/并、并/串转换;2)通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(Rx 和Tx)就可以完成通信过程;3)采用异步方式,数据收发完毕后,可通过中断或置位标志位的方式通知微控制器进行处理,大大提高微控制

16、器的工作效率。4)若加入一个合适的电平转换器,如SP3232E、SP3485,UART 还能用于RS-232、RS-485 通信,或与计算机的端口连接。UART 应用非常广泛,手机、工业控制、PC 等应用中都要用到UART。33. 通过编程控制GPIO引脚上的输出信号周期性地变化,就可以生成上述PWM波形图。从PWM波形图可知,当采用10占空比的PWM波形时,如果电源电压为12V,则平均加在灯上的电压只有12×101.2(V),相当输出12V模拟电压信号;采用50占空比的PWM波形时,平均加在灯上的电压为12×506(V),相当于输出6V的模拟信号;当采用70占空比的PWM

17、波形时,平均加在灯上的电压为12×708.4(V),相当于输出8.4V的模拟信号。34. 与标准的串行接口不同,SPI是一个同步协议接口,所有的传输都参照一个共同的时钟,主机产生这个同步时钟信号,接收数据的外设(从机)使用时钟来对串行比特流的接收进行同步化。可能会有许多芯片连到主机的同一个SPI接口上,这时主机通过触发从设备的片选输入引脚来选择接收数据的从设备,没有被选中的外设将不会参与SPI传输。35. SPI主要使用4个信号:主机输出/从机输入(MOSI)、主机输入/从机输出(MISO)、串行时钟(SCLK或SCK)和外设片选(CS)。36. IIC总线通过串行数据(SDA)和串

18、行时钟(SCL)线在连接到总线的设备之间传递信息,每个设备都有一个唯一的地址表示,而且都可以作为发送器或接收器,这都是由设备的功能决定。除了处理数据发送和接收之外,设备在执行数据传输时也可以被看做主机或从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的设备,此时,任何被寻址的设备都被认为是从机。37. IIC总线进行数据传输时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。38. 所有的嵌入式处理器和控制器都集成了定时器/计数器单元,可见它的重要性。嵌入式处理器上的定时器/计数器通常具有下面的功能。(1)嵌入

19、式操作系统的任务调度,特别是具有时间片轮转调度功能的嵌入式操作系统,必须使用定时器产生时间片。(2)嵌入式操作系统的软件时钟需要基于硬件定时器产生定时信号。(3)通信电路的波特率发生器。(4)实时时钟电路。(5)一些智能芯片如DMA控制器等。(6)具有液晶控制器的嵌入式处理器用于液晶的刷新。(7)处理器监控电路如看门狗等。(8)集成的片上A/D转换和D/A转换电路等。(9)集成的动态存储器控制器用于动态存储器的刷新。39. 键盘接口的基本功能包括与抖动,防串键,按键识别与键码产生:(1)去抖动:指定识别被按键与释放键时必须避开抖动状态,只有处在稳定接通或断开状态时,才能保证识别正确无误。(2)

20、防串键:防串键是为了解决多个键同时按下或者前一键没有释放而又有新键按下时产生的问题。(3)按键识别:指如何识别被按键,常用行描法和线反转法。(4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内含中建立了一个键盘编码表,通过查表获得键码。40. 编程I/O的基本工作方式 CPU在执行程序时遇到I/O指令 CPU向I/O模块发出I/O命令 I/O模块执行相应的请求动作并设置状态寄存器 CPU负责周期性地检测I/O模块的状态寄存器看请求是否完成 I/O模块不会直接通知CPU I/O模块不会中断CPU CPU可能会等待也可能会离开41. 中断驱动I/O的基本工作方式: CPU发出读命令

21、 I/O模块从外设获取数据 I/O模块中断CPU CPU请求数据 I/O模块传输数据第五章42. 在嵌入式领域中,程序员的编程工作完全可以不在软件最终运行的系统中进行。目标系统可能有也可能没有编程所必需的外设,如:键盘、屏幕、磁盘驱动器等。该系统可能不具有足够的存储空间来运行程序编辑器,或者根本没有可以运行于该系统所使用的专门的微处理器之上的编辑器。因此,在嵌入式系统的软件开发过程中,一般采用交叉平台开发(cross-platform developing)方法,开发平台和目标平台是不同的平台,开发平台称为宿主机(host),简称主机,目标平台成为目标机(target)。43. 交叉平台开发的

22、带来的困难主要有:(1)目标程序的转移 交叉平台开发中,开发的目标程序最终要运行在目标机上,通过何种手段把在开发平台上生成的目标程序转移到目标机上就是首要解决的问题。(2)测试 嵌入式系统的测试工作分为硬件测试和软件测试,交叉平台开发方式极大增加了软件测试难度,在硬件不成熟的情况下,很难单独要求软件的正确性,如果测试工作多需要在目标硬件平台上进行测试,势必会因为硬件问题影响软件的开发进度。(3)调试 桌面系统的应用程序调试主要借助系统提供软件调试器(debugger)进行软件调试,调试器是系统软件功能的一部分,而嵌入式环境中,这种方法基本上失效了,目标平台上几乎无法实现这样的调试器,因为被调试

23、的软件直接作用在裸机之上,在其下不可能再建立软件调试器。44. 集成开发环境(Integrated Development Environment,IDE)是覆盖嵌入式软件开发的整个生命周期的工具集合,是一种辅助程序开发人员开发软件的应用软件,它通常包括编程语言编辑器、自动建立工具、通常还包括调试器,有些还包含编译器和解释器。有时还会包含版本控制系统和一些可以设计图形用户界面的工具。45. 嵌入式系统调试手段:大脑、调试器、控制台、LED指示灯、示波器、逻辑分析仪、定制的调试硬件46. 在软件开发中,工具链是一系列用于制作软件的工具,这些工具一般一个接一个地运用,一件工具的输出输入至下一件工具

24、。工具链一般包括生成可执行文件的编译器及链接器,软件出错时用到的调试器,以及生成库文件的归档器等。47. 轮转结构是嵌入式系统软件最简单的一种结构,结构中主要是一个主循环,不断地处理I/O。48. 轮转调度存在以下问题:如果一个设备需要比处理器在最坏情况下完成一个循环的时间更短的响应时间,那么这个系统无法工作,这就是有紧迫性任务即使要求的响应时间不是绝对的截止时间,当有冗长的处理时系统也不会工作得不好,比如键盘输入响应时间这种结构比较脆弱,如果主循环中的各个任务处理的需求都恰好得到了满足,但是一旦增加一个额外的任务,就可能导致系统无法满足要求49. 带中断的轮转结构中引入了中断处理,它的结构分

25、为两个部分:中断程序处理硬件特别紧急的需求,然后设置标志;主循环轮询这些标志,然后根据这些需求进行后续的处理。50. 嵌入式系统软件结构选择主要基于以下考虑:(1)选择可以满足响应时间需求的最简单的结构。(2)如果系统对于响应时间的要求很高使得一个实时操作系统成为必需的,那就应该使用实时操作系统,多数商业系统的销售往往会附赠工具集,有助于系统的测试和调试工作。(3)如果对系统有意义的话,可以将上述结构结合起来使用。例如,使用一个实时操作系统结构,也可以有一个用于轮询那些不需要很快响应硬件的低优先级任务。在带中断的轮转结构中,主循环可以直接轮询那些较慢的硬件,而不必读取中断程序设置的标记。第六章

26、51. 操作系统的主要作用:(1)作为软硬件资源的控制中心,它以尽量合理有效的方法组织多个任务共享计算机的各种资源;(2)作为一台功能强大的虚拟机,给用户提供一个方便的、有效的、安全的工作环境。52. 嵌入式操作系统一般分为以下两类:实时操作系统,一般应用于工业控制、军事、航空航天等领域。非实时操作系统,一般应用于面向消费电子产品等领域,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书等。53. 实时操作系统虽然也是操作系统,但与桌面操作系统有很大的差异:(1)桌面操作系统上的应用是独立的程序,单独编译连接,运行在操作系统之上;嵌入式系统的应用程序和RTOS彼此紧密结合,通常链接在

27、一起(2)桌面操作系统保护自己不受应用程序的错误影响, RTOS则忽略这一点(3)为了节省存储空间,RTOS中一般只包括嵌入式系统所需的服务,不需要的服务通常在链接阶段就剔除了54. 硬实时,必须满足死线的要求,否则任务失败,这种情况下,死线不满足的危害很大软实时,死线在一定程度上满足即可,死线不满足不会产生太大的危害硬实时和软实时有着明确的差异,硬实时是要求任务必须100%满足死线,任务被执行100次,每一次都要达到相应时间要求;而软实时则要求宽松的多,比如:任务执行100次,只要30次以上满足时间要求即可。55. 嵌入式实时操作系统内核的实时性能定量指标包括:最大中断禁止时间:反映内核对外

28、界停止中断响应的最长时间任务上下文切换时间:任务切换是系统中频繁发生的动作,影响整个系统性能,它包括:保存当前任务上下文、选择新任务,及恢复新任务上下文三个阶段中断延迟时间:中断请求发生到处理器开始处理中断中断响应时间:中断请求发生到ISR处理完中断中断恢复时间:中断处理完毕到恢复到另一个任务56. 嵌入式实时操作系统内核的基本功能:实时多任务管理中断与异常管理共享资源互斥管理多任务同步与互斥内存管理时钟定时器管理电源管理57. 通用操作系统一般采用非抢占式调度,主要考虑重点是任务的公平性和最小化任务平均响应时间,在此基础上,提高系统吞吐率。嵌入式实时操作系统多会采用抢占式调度,主要考虑重点是

29、提高对关键性任务响应,关注上述参数的最坏执行时间,提高函数的可重入性设计,这都是为了精确计算任务执行时间。58. 许多嵌入式操作系统不划分“系统空间”和“用户空间”,如VxWorks等,操作系统内核与外围应用程序之间不再有物理的边界,系统中“进程”实际上都是内核线程。操作系统、应用程序均运行在特权级别的优点是减少由于空间切换导致的执行开销,提高实时性;缺点是应用程序可破坏操作系统内核,导致系统崩溃。59. 为了满足不同复杂程度的应用需求,嵌入式环境资源配置及需求情况各异,一般只要求嵌入式操作系统的功能子集,因而需要裁剪掉部分功能,并保证功能的相对完整性。内核的可裁剪程度取决与模块之间的耦合程度

30、。裁剪方法:模块级裁剪、函数级裁剪、代码级裁剪。60. µC/OS-II的源代码绝大部分是用移植性很强的ANSI C写的,与微处理器硬件相关的部分是用汇编语言写的。µC/OS-II可以移植到许许多多不同的微处理器上,条件是:该微处理器具有堆栈指针,具有CPU内部寄存器入栈、出栈指令,使用的C编译器必须支持内嵌汇编,或者该C语言可扩展和可链接汇编模块,使得关中断和开中断能在C语言程序中实现。61. µC/OS-II是完全可抢占型的实时内核,即µC/OS-II总是运行就绪条件下优先级最高的任务;µC/OS-II可以管理64个任务。赋予每个任务的优先

31、级必须是不相同的,这就是说µC/OS-II不支持时间片轮转调度法(该调度法适用于调度优先级平等的任务)。第七章62. 大部分嵌入式硬件都需要某种类型的软件进行初始化和管理。直接与一个硬件相互作用并控制这一硬件的软件成为设备驱动程序驱动程序的作用:(1)作为硬件功能的封装软件,驱动程序把硬件功能的复杂性封装了,让上层软件更容易编写;(2)作为硬件接口的适配软件,驱动程序把硬件接口进行了标准化适配,让上层软件更容易移植63. 不论设备驱动程序的类型和驱动程序管理的硬件如何,所有的设备驱动程序通常具有以下功能中的全部或者这些功能的某种组合硬件启动,接通电源或重新启动的初始化硬件关闭,配置硬

32、件进入断电状态硬件禁止,允许其他软件随时禁止硬件硬件激活,允许其他软件随时激活硬件硬件获得,允许其他软件获得对硬件独占的(锁定的)访问硬件释放,允许其他软件释放(解锁)硬件硬件读取,允许其他软件从硬件读取数据硬件写入,允许其他软件向硬件写入数据硬件安装,允许其他软件随时安装新的硬件硬件卸载,允许其他软件随时移除已经安装的硬件64. 设备驱动程序的复杂性首先,来源于本身硬件的工作机制的复杂性,简单的硬件驱动程序代码可能会非常简单; 其次,如果设备驱动程序要配合操作系统向应用提供硬件功能时,驱动程序复杂性可能会增加,因为需要使用操作系统提供的多任务机制实现任务通信和任务调度65. 应对设备驱动程序

33、复杂性的手段有通过数据手册和相关资料掌握硬件的工作原理;有些厂家可能会提供相关的参考代码。66. 硬件抽象层(HAL, Hardware Abstraction Layer),是抽象层的一种,是直接接触硬件的一层特殊软件。硬件抽象层将具体的硬件操作抽象化简,避免由于直接以具体的机器码(Machine code)撰写程序,通过抽象它隐藏了特定平台的硬件接口细节,为操作系统等上层软件提供虚拟硬件接口,使其具有硬件无关性,以便上层软件在多种平台上进行移植。67. ARM公司于2008年11月12日发布了ARM Cortex微控制器软件接口标准(CMSIS:Cortex Micro-controlle

34、r Software Interface Standard)。CMSIS是独立于供应商的Cortex-M处理器系列硬件抽象层,为芯片厂商和中间件供应商提供了连续的、简单的处理器软件接口。CMSIS简化了软件复用,降低了Cortex-M处理器上软件的移植难度,并缩短了新入门的微控制器开发者的学习时间和新产品的上市时间。68. 板级支持包(Board Support Package)是负责电路板(也称为开发板)上硬件的功能封装和资源管理的一层软件。板级支持包可以看作是开发板级设备驱动程序的集合。开发板是由芯片厂商或嵌入式方案设计厂商基于特定的硬件设计的嵌入式系统主板,为了方便用户基于开发板进行二次

35、开发,商家还会提供相应的参考软件,其中很重要的软件资源就包括板级支持包。利用开发板厂家提供的各种软件资源,嵌入式系统开发者可以快速学习其中涉及到的硬件资源,快速对硬件进行评估,快速进行产品开发。69. 固件(Firmware)就是写入EROM或EPROM(可编程只读存储器)中的程序,通俗的理解就是“固化在硬件中的软件”。一般可由用户通过特定的刷新程序进行固件升级,固件担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。在嵌入式系统开发中,系统中的所有软件基本上都是以固件的形式呈现。包

36、括设备驱动程序、硬件抽象层、板级支持包以及后面要讨论的中间件,在嵌入式系统中,通常都称为固件70. 中间件(Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,它是应用软件对于系统软件公共功能需求的一种体现。71. 中间件和应用软件之间的界限是模糊的,中间件是由于各种原因从应用层软件抽象出来的软件。一个原因是它可能已经成为现有操作系统中的一部分了。将中间件从应用层提取出来的其他原因是:1) 可以使其被其他应用使用;2) 购买第三方厂商现有的中间件以减少开发成本和时间;3) 简化应用代码。第八章72. 嵌入式系统的设计过程: (1)产品定义 产品定义相当于一

37、般软件工程中的需求分析阶段,即对产品需求加以分析、细化,并抽象出需要完成的功能列表,明确定义所要完成的任务。 (2)软件与硬件的划分 由于嵌入式设计分为硬件与软件设计两个部分,设计人员必须确定系统的哪些功能由硬件完成,那些功能由软件完成,这种选择成为“划分决策”,即软件与硬件的划分。 (3)迭代与实现 迭代与实现阶段是软硬件划分阶段的延续,随着软硬件被初步划分,软硬件设计小组分别对软硬件进行建模,随着软硬件建模过程的深入,更多的设计约束被理解,此时可以修改软硬件划分的界限,实现对软硬件更为合理的划分。 (4)详细的硬件与软件设计 随着上一个阶段的完成,系统被合理地划分成了软硬件两个部分,此阶段

38、是对系统的软硬件分别进行实现的过程。在软硬件的实现过程中分别有自己的设计方法和技巧,这将在下几个部分加以介绍。 (5)硬件和软件的集成 将已实现的硬件模块和软件功能模块综合、整合为统一的系统。 (6)系统测试与发布 嵌入式系统一般具有严格的设计界限,以达到成本目标,所以测试必须查明系统是否在运行时能接近最优性能。而且嵌入式系统要求在运行时具有相当高的可靠性,因此在产品发布之前必须进行产品的严格测试。 (7)系统维护与升级 在产品发布之后还要不断对产品进行维护和升级。产品在使用过程中会发现一些在产品的设计阶段没有想到的问题,对这些问题的解决就是产品的维护。在产品应用一段时间后,用户会对产品提出更

39、多的需求,通过对产品的升级可以解决用户不断增加的需求。73. 例如,便携式网络电视设计的需求分析如下:名称:便携式网络电视目的:为用户提供移动网络和收着数字电视服务,同时具有所有广播和交互式多媒体应用功能。输入:触摸式面板,一个电源按钮输出:LCD显示屏,内置喇叭功能: 电子节目指南。给用户提供一个容易使用、界面友好、可以快速访问想看节目的一种方式,用户可以通过该功能看到一个或多个频道甚至所有频道近期将播放的电视节目。 高速数据广播。能给用户提供股市行情、票务信息、电子报纸、热门网站等各种消息。 软件在线升级。软件在线升级可看成是数据广播的应用之一。数据广播服务器按DVB数据广播标准将升级软件

40、广播下来,便携式网络电视能识别该软件的版本号,在版本不同时接收该软件,并对保存在存储器中的软件进行更新。 Internet接入和电子邮件。便携式网络电视可通过内置的无线网卡方便地实现因特网接入功能。用户可以通过平台内置的浏览器上网,发送电子邮件。 有条件接收。有条件接收的核心是加扰和加密,便携式网络电视应具有解扰和解密功能。性能:画面流畅清晰,刷新速率>30帧/秒74. 需求分析表格项目 项目 描 述名称 每一个工程项目都有自己的名称, 它是所要完成项目的总体概括目的 目的 关于系统将要满足的需求的简单描述, 概要介绍所设计系统的主要特征输入和输出 系统的输入输出包括数据的类型 (如模拟

41、信号、 数字信号等) 、 数据特性 (如是否是用户的输入、 数据的位数等) , 输入输出设备的类型(如按键、 显示器等)功能对系统所要做的工作的具体详细的描述。可以分析系统从输入到输出的流程, 当系统接收到输入时, 执行哪些动作性能系统所要求处理的速度、 实时性和实用性。例如0.25秒内要求更新一次屏幕生产成本任何系统的设计都要考虑到成本问题, 主要的是硬件构件和人员的花费, 产品的价格最终会影响系统的体系结构, 这就需要对最终产品的价格有一个粗略的估价功耗嵌入式系统的特点决定了有些设备是靠电池供电。靠电池供电的系统必须认真地对功耗问题进行考虑物理尺寸和重量物理尺寸和重量强终产品的物理特性会因

42、为使用的领域不同而大不相同。有些系统对重量没有什么约束, 如一台控制装配线的工业控制系统通常装配在一个标准尺寸的柜子里。有些则不同, 如手持设备对系统的尺寸和重量就有很严格的限制。对系统的物理尺寸和重量有一定的了解有助于对系统体系结构的设计75. 在软硬件划分的问题上,一般遵循以下几个原则: (1)性能原则 不管使用软件还是硬件实现特定的功能,首先要满足性能要求,这是最重要的。例如对于所有的模拟功能,虽然有模拟FPGA出现,但是其技术还不成熟,而数字脉冲输出加滤波的方法在相应速度、精度上无法与模拟元件相比,因此显然是必须由模拟元件,也就是硬件来实现。 (2)性价比原则 大容量FPGA理论上和实

43、际上都可以完成本系统所要实现的全部数字功能,但是使用昂贵的FPGA来实现普通的微处理器就可以实现的功能是一种巨大的浪费。同时,为了让本系统的某些功能用软件实现而采用超高速的微处理器也是一种浪费。因此,可以说对于本系统来说,最重要的是分析对于同一个功能,是用微处理器来实现所需要的成本低,还是用FPGA来实现所需要的成本低。 (3)资源利用率原则 新型的微处理器往往集成了大量的外围元件,如串行接口、计数器、PWM和AD等,也就常说的片上系统SOC( System On Chip),在性能相同的情况下,价格却比分立系统低廉。因此,很多系统面临的情况是使用了SOC芯片以后,不但可以实现那些符合高性价比

44、原则的功能,还会有一些剩余的资源,如微处理器的计算资源。FPGA的使用特点决定了不能完全按照估计的实际逻辑资源使用量去选型,而是要选择逻辑容量比实际可能需要的最大容量还要大30%的型号。而同一个系列的FPGA里虽然有内部逻辑资源容量不同的多种型号,但是找到完全符合选型要求的元件的机会还是比较小的,因此就必须选择刚好大于选型需求的元件。如此一来,不管是微处理器还是FPGA的资源都会有一些剩余。76. 硬件平台的选择(1)如果已有的系统实现了相似的功能,重用该结构是个很好的选择。(2)如果这是个全新的项目,考虑这些功能是否能用一个处理器实现。单个处理器是最容易实现和调试的。(3)如果该应用需要用多

45、个处理器,最好选用能够满足需求的最少处理器实现。(4)在多处理器设计中,把控制和管理用一个处理器实现,这样简化了操作。系统中其他处理器处理系统中的工作负载。(5)按照这种方式设计的多处理器系统,可以从一个小的系统扩充为一个大的系统,通过增加处理器实现。因此客户可以从简单的处理器入手,随着系统负载的增加而增加。77. 嵌入式应用软件的开发流程与通用软件的开发流程大体相同,但在开发所使用的设计方法上有一定的差异。整个软件的开发流程可分为在软硬件划分阶段确定硬件驱动接口阶段、软件功能模块按照实时性进行划分阶段、各软件功能模块的代码生成阶段、软件功能模块的集成测试阶段、代码固化及固化后的调试阶段。 (1)在软硬件划分阶段确定硬件驱动接口阶段 在软硬件划分阶段就要开始确定硬件驱动层,确定硬件驱动的软件接口,所有嵌入式系统软件都要在这个硬件驱动层基础之上来实现,因此可以说从软硬件划分确定了硬件驱动接口时,就开始了软件设计。 (2)软件功能模块按照实时性进行划分阶段 此阶段是将系统软件划分为实时部分和分时部分。由于实时和分时部分的要求不同,因此这样划分可以按照不同要求,分别对实时部分和分时部分进行实现,在满足要求的情况下,简化了整个系统的实时性设计。 (3)各软件功能模块的代码生成阶段 此阶段将对系统各个功能模块分别进行实现,是具

温馨提示

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

评论

0/150

提交评论