通信嵌入式系统技术与应用戴虹课后参考答案_第1页
通信嵌入式系统技术与应用戴虹课后参考答案_第2页
通信嵌入式系统技术与应用戴虹课后参考答案_第3页
通信嵌入式系统技术与应用戴虹课后参考答案_第4页
通信嵌入式系统技术与应用戴虹课后参考答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第1章1、广义上:凡是带有微处理器的专用软件系统或硬件系统都可成为嵌入式系统,如各类单片机和DSP系统,这些系统在完成较为单一的专业功能时具有简洁高效的特点。狭义上:嵌入式系统是指那些由嵌入式微处理器构成的有自己的操作系统、具有特定功能、用于特定场合的系统。2、嵌入式微处理器的主要特点:(1)面向特定应用的特点,嵌入式系统与通用型系统的最大区别就在于嵌入式系统大多工作在为特定用户群设计的系统中,因此它通常都具有低功耗、体积小、集成度高等特点,并且可以满足不同应用的特定需求。(2)联入式系统的硬件和软件都必须进行高效的设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。(3)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统,从事嵌入式系统开发的人才也必须是复合型人才。(4)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存储于磁盘中(5)嵌入式系统的软件代码必须具有高质量、高可靠性,由于嵌入式设备所处的环境往往是无人值守或条件恶劣的环境,因此对其代码有更高的要求。(6)嵌入式系统本身不具备二次开发的能力,即嵌入式系统设计完成后用户通常不能对其中的程序和功能进行修改,必须有一套特定的开发工具和环境才能进行再次开发。3、嵌入式系统一般由硬件平台和软件平台两部分组成,其中,硬件平台由嵌入式微处理器和外围设备组成,软件平台由嵌入式操作系统和应用软件组成。4、(1)嵌入式Linux是将标准Linux经过小型化裁剪处理之后,能够固化在容量只有几KB或几MB字节的存储器芯片或单片机中,是适用于特定嵌入式应用场合的专业Linux系统。具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点。(2VxWorksvxworks操作系统是美国WindRiver公司于1983年设计开发的一种秋入式实时操作系统(RTOS),它是当前市场占有率最高的联入式操作系统。VxWorks的实时性非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,因此造成的延迟很短。另外VxWorks提供的多任务机制对任务控制采用了优先级抢占机制(Linux2.6内核也采用了优先级抢占机制)和轮转调度机制,这充分保证了实时性,并使同样的硬件配置能满足更强的实时性要求。另外VxWorks具有很高的可靠性,从而保证了用户工作环境的稳定。同时,VxWorks还有完备、强大的集成开发环境,这也大大方便了用户使用。但是,因为VxWorks的开发和使用都需要交高额的专利费,所以大大增加了用户的开发成本。同时,VxWorks的源码不公开造成了它的部分功能的更新(如网络功能模块)滞后。(3).QNXONX是业界公认的x86平台上较好的嵌入式实时操作系统之一,它具有独一无二的微内核实时平台,该微内核实时平台是建立在微内核和完全地址空间保护基础之上的,它同样具有实时性强、稳定、可靠的优点。(4).WindowsCEWindowsCE是微软公司开发的开放的、可升级的32位嵌入式操作系统,是基于掌上电脑类的电子设备操作系统,它是精简的Windows95操作系统。WindowsCE的图形用户界面相当出色。WindowsCE具有模块化、结构化、基于Win32应用程序接口和与处理器无关等特点。它不仅继承了传统的Windows图形用户界面,用户在WindowsCE平台上还可以使用Windows95或Windows98上的编程工具(如VisualBasic、Visualt++等),也可以使用同样的函数、同样的界面风格,使绝大多数Windows上的应用软件只需进行简单的修改和移植就可以在WindowsCE平合上继续使用。但与VxWorks相同,WindowsCE的费用也是比较昂贵的。(5).PalmOSPalmOs在PDA和掌上电脑方面有很大的用户群。Palmos最明显的特点在于精简,它的内核只有几千字节,同时用户可以方便地开发定制,具有较强的可操作性。5.v5:是向量浮点运算,用Jazelle技术v6:Thumb-2技术(可选),TrustZone技术,单指令多数据v6:动态编辑器支持,向量浮点运算,NEON技术单指令多数据,必须使用Thumb-2技术v7:仅有Thumb-2技术6.ARMCortex-A8微处理器是一款适用于复杂操作系统及用户应用的应用处理器,支持智能能源管理(IntelligentEnergyManger,IEM)技术的ARMArtisan库及先进的泄露控制技术,使得ARMCortex-A8微处理器实现了非凡的速度和功耗效率。在6Snm工艺下,ARMcortex-A8微处理器的功耗不到300mW,性能高、功耗低。它第一次为低费用、高容量的产品带来了台式机级别的性能。ARMCortex-A8微处理器是第一款基于下一代ARMv7架构的应用处理器,使用了能够带来更高性能、更低功耗和更高代码密度的Thumb-2技术。它首次采用了强大的NEON信号处理扩展集,为H.264和MP3等媒体编解码提供加速功能。ARMCortex-A8的解决方案还包括Jazelle-RCTJava加速技术,使实时(JIT)和动态调整编译(DAC)达到最优化,同时减少内存占用。该微处理器配置了先进的超标量体系结构流水线,能够同时执行多条指令,并目性能超过2.0DMIPS/MHz。该微处理器集成了一个可调尺寸的2级高速缓冲存储器,能够同高速的16KB或32KB的1级高速缓冲存储器一起工作,从而达到最快的读取速度和最大的吞吐量。该微处理器还配置了用于安全交易和数字版权管理的TrustZone技术,以及实现功耗管理的IEM功能。ARMCortex-A8微处理器使用了先进的分支预测技术,并且具有专用的NEON整型和浮点型流水线进行媒体和信号处理。在使用小于4mm2的硅片及低功耗的65nm工艺的情况下ARMCortex-A8处理器的运行频率将高于600MHz(不包括NEON追踪技术和二级高速缓冲存储器)。在高性能的90nm和65nm工艺下,ARMCortex-A8微处理器的运行频率最高可达1GHz,能够满足高性能消费产品的设计需要。ARMCortex-A8微处理器的内核采用超纯量管线(SuperscalarPipeline)及分支预测(BranchPrediction)技术,在1GHz时脉下达到超过2000DMIPS的效能。搭载ARMNEON64/128bitSIMD多媒体技术、效能最佳化的L1缓冲内存,以及两颗尺寸可调整的L2缓冲内存,ARMCortex-A8能为新一代装置提供更先进的高流量媒体及游戏处理效能。7.嵌入式系统的一般开发流程:系统定义---可行性研究---需求分析---系统总体开发---嵌入式软硬件开发---软硬件集成---功能测试---符合要求---产品8.嵌入式软件的开发步骤:(1)需求调研分析首先:系统分析员和用户初步了解需求,确认开发的功能模块,并列出要开发的系统的大功能模块,及每个大功能模块下的小功能模块有哪些;对于有明确需求的,可以初步定义好少量的界面。其次系统分析员深入了解和分析需求,制作一份功能需求文档。此文档清晰的写出系统大致的大功能模块和大功能模块下的小功能模块,还会写出相关的界面及界面功能。最后系统分析员跟用户再次进行需求确认。(2)概要设计开发者需要对软件系统进行概要设计,概要设计时要考虑软件系统的设计,包含系统的基本处理流程、接口设计、模块划分、组织结构、功能分配、运行设计、数据结构设计以及出错处理设计等。(3)详细设计在上一步的概要设计基础上,开发者需要进行软件系统的详细设计,会描述实现具体模块相关的主要算法、数据结构、类型的层次结构和调用的关系,方便进行编码以及测试。详细设计必须足够详细,能够按照详细设计报告进行编码。(4)编码开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。(5)测试测试编写好的系统,交给用户使用,一个个确认功能。(6)软件交付准备在软件测试达到要求后,软件开发者应向用户提交开发的目标安装程序、《用户安装手册》、《用户使用指南》、测试报告等双方合同约定的产物。《用户安装手册》应详细介绍安装软件对运行环境的要求、安装软件的定义和内容;在客户端、服务器端及中间件的具体安装步骤、安装后的系统配置。《用户使用指南》应包括软件各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等,在需要时还应举例说明。9.Linux作为嵌入式操作系统主要有的优势:首先,是一个低成本开发系统,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其次,Linux的内核小、效率高,内核的更新速度很快;第三,Linux是免费的OS,在价格上极具竞争力;第四,可应用于多种硬件平台。10.常见的Linux开发环境的3种组合方式:第一种:Windows操作系统+Cygwin工具;第二种:Windows操作系统+VMware工具+Linux操作系统;第三种:Linux操作系统+自带的开发工具。第2章嵌入式ARM系统的软件开发环境大致由以下5部分组成:运行在WindowsXP简体中文操作系统环境下的虚拟操作机软件(VirtualBox)运行在WindowsXP简体中文操作系统环境下的超级终端程序运行在虚拟机中的Linux简体中文操作系统(Ubuntu)运行在Ubuntu中的ARM交叉编译器嵌入式系统的源程序如何建立虚拟机开发主机环境(1)确认互联网连接:确认WindowsXP系统能正确连接互联网;(2)下载最新的虚拟机软件:VirtualBox、Ubuntu;(3)安装VirtualBox(4)安装Ubuntu构建交叉工具链的三种方法:(1)分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。(2)通过Crosstool脚本工具来实现一次编译生成交叉编译工具连。(3)直接在网上(.uk)下载已经制作好的交叉编译工具链。用Crosstool工具构建交叉编译工具链:(1)准备资源文件(2)建立脚本文件(3)建立配置文件(4)执行脚本(5)添加环境变量串口通信和以太网通信的特点串口通信:优势:串口通信在传输数据方面有一定的优势,它可以提供高速数据传输,可以实现高达4.5Gbps的传输速度,而且可以实现点对点的连接,这使得它更加灵活。此外,串口通信还可以提供更高的安全性,因为它可以有效地防止被第三方拦截,也可以防止数据被窃取。劣势:串口通信也有一些劣势,首先它只能在短距离内传输数据,而且只能用于传输点对点的数据。此外,串口通信还需要使用专用硬件设备,这增加了成本。以太网通信优势:以太网通信的优势在于它可以实现高速数据传输,可以达到10Gbps的传输速度,而且它可以实现多点连接,可以同时连接多台设备,这使得它更加灵活。此外,以太网通信也可以提供更高的安全性,可以有效地防止被第三方拦截,也可以防止数据被窃取。劣势:以太网通信的劣势在于它只能在短距离内传输数据,而且需要使用专用的硬件设备,这增加了成本。此外,以太网通信也可能受到干扰,这可能会影响数据传输的速度和稳定性。采用以太网与嵌入式系统进行通信的步骤信息回读和实现交互控制:通过串口在嵌入式系统启动和运行过程中,用户会观察到相关信息,可以帮助用户判断故障出现的位置。下载映像到嵌入式系统:进行串口下载和tffp下载和共用文件系统。第3章1、进程的概念首先是在60年代初期由MIT的Multics系统和IBM的TSS/360系统引入的。现有著名的几种。(1)进程是一个独立的可调度的活动(2)进程是一个抽象实体,当它执行某个任务时,将要分配和释放各种资源(3)进程是可以并行执行的计算部分。综上:进程是一个程序的一次执行的过程。

进程结构:Linux中的进程包含3个段,分别为“数据段”、“代码段”和“堆栈段”。(1)“数据段”存放的是全局变量、常数以及动态数据分配的数据空间(如malloc函数取得的空间)等。(2)“代码段”存放的是程序代码的数据。(3)“堆栈段”存放的是子程序的返回地址、子程序的参数以及程序的局部变量。2、Linux的进程间通信方式主要有以下几种:(1)管道(Pipe)及有名管道(namedpipe):管道可用于具有亲缘关系进程间的通信,有名管道,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。(2)信号(Signal):信号是在软件层次上对中断机制的一种模拟,是比较复杂的通信方式,用于通知进程有事件发生,进程收到一个信号与处理器收到一个中断请求效果上可以说是一样的。(3)消息队列:消息队列是消息的链接表,包括Posix消息队列systemV消息队列。它克服了前两种通信方式中信息量有限的缺点,具有写权限的进程可以向消息队列中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读取消息。(4)共享内存:可以说这是最有用的进程间通信方式。它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新。这种通信方式需要依靠某种同步机制,如互斥锁和信号量等。(5)信号量:主要作为进程间以及同一进程不同线程之间的同步手段。(6)套接字(Socket):这是一种更为一般的进程间通信机制,它可用于不同机器之间的进程间通信,应用非常广泛。

3、线程的定义:它是一个进程内的基本调度单位,也可以称为轻量级进程。线程和进程之间的关系:线程是在共享内存空间中并发的多道执行路径,它们共享一个进程的资源,如文件描述和信号处理。因此,大大减少了上下文切换的开销。线程一进程线程一线程二线程一用户地址空间线程三线程二线程一线程三4、TCP/IP各层上的重要协议及功能ARP:用于获得同一物理网络中的硬件主机地址。MPLS:多协议标签协议,是很有发展前景的下一代网络协议。IP:负责在主机和网络之间寻址和路由数据包。ICMP:用于发送报告有关数据包的传送错误的协议。IGMP:被IP主机用来向本地多路广播路由器报告主机组成员的协议。TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输少量数据,可靠性则由应用层来负责。5、客服端和服务器端使用TCP\IP协议的流程图6、ping代码的流程图第4章Linux系统的设备文件有哪三类?答:Linux系统的设备文件分为三类:块设备文件、字符设备文件和网络设备文件。(1)块设备文件通常指一些需要以块(如512字节)的方式写入的设备,如IDE硬盘、SCSI硬盘、光驱等。(2)字符型设备文件通常指可以直接读写,没有缓冲区的设备,如并口、虚拟控制台等。(3)网络设备文件通常是指网络设备访问的BSDsocket接口,如网卡等。Linux中的设备驱动程序有哪些特点?答:Linux中的设备驱动程序有如下特点:(1)内核代码:设备驱动程序是内核的一部分,如果驱动程序出错,则可能导致系统崩溃。(2)内核接口:设备驱动程序必须为内核或者其子系统提供一个标准接口。比如,一个终端驱动程序必须为内核提供一个文件I/O接口;一个SCSI设备驱动程序应该为SCSI子系统提供一个SCSI设备接口,同时SCSI子系统也必须为内核提供文件的I/O接口及缓冲区。(3)内核机制和服务:设备驱动程序使用一些标准的内核服务,如内存分配等。(4)可装载:大多数的Linux操作系统设备驱动程序都可以在需要时装载进内核,在不需要时从内核中卸载。(5)可设置:Linux操作系统设备驱动程序可以集成为内核的一部分,并可以根据需要把其中的某一部分集成到内核中,这只需要在系统编译时进行相应的设置即可。(6)动态性:在系统启动且各个设备驱动程序初始化后,驱动程序将维护其控制的设备。如果该设备驱动程序控制的设备不存在也不影响系统的运行,那么此时的设备驱动程序只是多占用了一点系统内存罢了。描述设备驱动程序的主要组成内容。答:设备注册设备解除注册打开设备释放设备读写设备获取内存打印信息绘出块设备驱动程序的流程图,并说明块设备驱动程序的编写流程。答:编写流程:(1)流程说明;(2)重要数据结构:<1>设备初始化<2>request操作<3>打开操作<4>释放设备操作<5>ioctl操作描述键盘工作原理和键盘驱动的流程。答:键盘工作原理:在键盘产生按键动作之后,键盘上的扫描芯片(一般为8048)获得键盘的扫描码,并将其发送到主机端。在主机端的处理过程为是端口读取扫描码之后,对键盘模式作一个判断,如果是RAW模式,则直接将键盘扫描码发送给应用程序;如果是其他

温馨提示

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

评论

0/150

提交评论