嵌入式期末考试总结_第1页
嵌入式期末考试总结_第2页
嵌入式期末考试总结_第3页
嵌入式期末考试总结_第4页
嵌入式期末考试总结_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

第一章1.嵌入式系统:嵌入到对象体系中的专用计算机应用系统。2.嵌入式系统的特点:嵌入性,内含计算机,专用性嵌入性由早期微型机时代的嵌入式计算机应用而来,专指计算机嵌入到对象体系中,实现对象体系的智能控制。当嵌入式系统变成一个独立应用产品时,可将嵌入式理解为内部嵌有微处理器或计算机。内含计算机是对象系统智能化控制的根本保证。随着单片机向MCU、SoC发展,片内计算机外围电路、接口电路、控制单元日益增多,专用计算机系统演变成内含微处理器的现代电子系统。与传统的电子系统相比较,现代电子系统由于内含微处理器,能实现对象系统的计算机智能化控制能力。专用性是指在满足对象控制要求及环境要求下的软硬件剪裁性。嵌入式系统的软硬件配置必须依据嵌入对象的要求,设计成专用的嵌入式应用系统。3.前后台系统:p7对于基于芯片开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。循环中调用相应的函数完成相应的操作,这部分可以看成后台行为;中断服务程序处理异步事件,这部分可以看成前台行为。后台也可以叫做任务级,前台也叫中断级。4.操作系统:是计算机中最基本的程序,负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;提供用户接口,使用户获得良好的工作环境;为用户扩展新的系统功能提供软件平台。5.任务:一个任务也叫做一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序本身。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。6.调度:调度是内核的主要职责之一,调度就是决定该轮到那个任务运行了。多数实时内核是基于优先级调度发的,每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪的优先级最高的任务先运行。7.任务优先级:任务的优先级是表示任务被调度的优先程度,每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行状态。8.使用嵌入式实时操作系统的必要性: 嵌入式实时操作系统在目前的嵌入式应用中用的越来越广泛,尤其在功能复杂、系统庞大的应用中显得越来越重要。首先,嵌入式实时操作系统提高了系统的可靠性。在控制系统中,出于安全方面的考虑,要求系统不能崩溃,而且还要有自愈能力;要求不仅在硬件设计方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰性,尽可能地减少安全漏洞和隐患。其次,嵌入式实时操作系统提高了开发效率,缩短了开发周期。在嵌入式实时操作系统环境下,开发一个复杂的应用程序,通常可以按照软件工程中的解耦原则将整个程序分解为多个任务模块。每个任务模块的调试、修改几乎不影响其他模块。第三,嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。32位CPU的速度比8位、16位CPU的速度快。另外,它本来是为运行多用户、多任务操作系统而设计的,特别适于运行多任务实时系统。32位CPU采用利于提高系统可靠性和稳定性的设计,使其更容易做到不崩溃。9.嵌入式实时操作系统的优缺点:优点:1、使程序的设计和扩展变得容易不需要大的改动就可以增加新功能 2、通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程更加简化 3、对实时性要求苛刻的事件都得到了可靠快速的处理4、通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用缺点:使用嵌入式实时操作系统需要额外的ROM/RAM开销、2%~5%的CPU额外负荷以及内核的费用 9.uC/OS-II 定义:一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统,其绝大部分源码是用ANSIC写的。 uC/OS-II的特点如下:提供源代码可移植(portable)可固化(ROMmable)可裁剪(scalable)可剥夺(preemptive)多任务可确定性任务栈系统服务中断管理稳定性与可靠性第四章1,P91页图4.1VPB外设所包含的部分(填空) 2,SPI总线:SPI(serialperipheralinterface串行外设总线)总线系统是一种同步串行外设接口,允许MCU与各种外设设备以串行方式进行通信,数据交换。外围设备包括flash,ram,a/d转换器,网络控制器,MCU等。SPI系统可直接与各个厂家生产的多种标准外围器件直接接口,一般使用4条线:串行时钟线SCK,主机输入/从机输出数据线MISO,主机输出/从机输入数据线MOSI和低电平有效地从机选择线SSEL。3,I2C总线:I2CBUS(InterICBUS)是NXP半导体公司推出的芯片间串行传输总线,它以2跟连线实现了完善的双向数据传送,可以极方便的构成多机系统和外围器件扩展系统。I2C总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有最简单而灵活的扩展方法。第五章一.最小系统 一个嵌入式系统自己是不能独立工作的,必须给它供电,加上时钟信号,并提供复位信号,如果芯片没有片内程序储存器,则还要加上存储器系统,然后嵌入式处理芯片才可能工作。这些提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成了这个嵌入式处理器的最小系统。二.电源 电源系统为整个系统提供能量,是整个系统工作的基础,具有极其重要的地位,但却往往被忽略。如果电源系统处理得好,那么整个系统的故障往往减少了一大半。 设计电源系统的过程实质是一个权衡的过程,必须考虑的因素有:输出的电压、电流和功率;输入的电压、电流;输出纹波;电磁兼容和电磁干扰;体积限制;功耗限制;成本限制。 第六章一,任务的分类:单次执行的任务:单次执行的任务在创建后只执行一次,在执行结束时自己删除自己。单次执行的任务函数结构如下:voidMytask(void*pdata){ 进行准备工作的代码; 任务实体代码; 调用任务删除函数;(OSTaskDel(OS_PRIO_SELF))}其中第一部分“进行准备工作的代码”,用于完成各项准备工作,例如定义和初始化变量、初始化某些设备等,此部分代码的多少根据实际需要来决定,也可能空缺。第二部分“任务实体代码”,此代码完成该任务的具体功能,通常包含对若干系统函数的调用,除若干临界段代码(中断被关闭)外,任务的其他代码均可被中断,以保证高优先级的就绪任务能够及时运行。第三部分“调用任务删除函数”,该任务完成后将自己删除,os不在管理它。周期性执行的任务:按一个固定的周期来执行的任务。周期性执行任务函数的结构:voidMytask(void*pdata){ 进行准备工作的代码; while(1){ 任务实体代码; 调用系统延时函数;(OSTimeDly()或OSTimeDlyHMSM()) }}其中第一部分和第二部分参照单次执行的任务。第三部分的“ 调用系统延时函数”,把cpu的控制权主动交给操作系统,是自己挂起,再由os来启动其他已经就绪的任务。当延时时间到后,重新进入就绪状态,通常能够很快获得运行权。事件触发执行的任务:平时处于等待状态,当某个事件产生时才执行一次任务。事件触发执行函数的结构:voidMytask(void*pdata){ 进行准备工作的代码; while(1){ 调用获取事件的函数; 任务实体代码; }}其中第二部分“调用获取事件的函数”,等待另一个任务(或ISR)发出消息(如信号量或邮箱中的消息),在取得这个消息之前事件触发任务处于等待状态,当接收到相关消息时,os使该任务进入就绪状态,通过任务调度,任务实体代码获得运行权,完成任务的功能。二、任务的划分 1,任务划分的目标: 1),首要目标是满足实时性指标 2)任务数目合理 3)简化软件系统 4)降低资源需求 2、任务优先级安排原则: 1)中断关联性 2)紧迫性 3)关键性 4)频繁性 5)快捷性 6)传递性三.系统延时函数OSTimeDly(): Uc/os-II提供了这样一种服务:申请该服务的任务可以延时一段时间,这段时间的长短是由时钟节拍的数目来确定的,实现这个系统服务的函数就是OSTimeDly()。调用该函数会使Uc/os-II进行一次任务调度,并且执行下一个优先级最高的处于就绪态的任务。 任务调用OSTimeDly()函数后,一旦达到规定的时间或者有其他任务调用OSTimeDlyResume()取消了延时,他就会进入就绪状态。 OSTimeDlyHMSM()函数:函数原型:OSTimeDlyHMSM(INT8Uhours,minutes,seconds,milli)指定的延时时间为时、分、秒、毫秒。 OSTimeDlyResume()函数:函数原型:OSTimeDlyResume(INT8Uprio)让延时的任务结束延时,其中prio为任务的优先级。四.信号量 在实时任务系统中,信号量被广泛应用于任务间对共享资源的互斥、任务和中断服务程序之间的同步以及任务之间的同步。任务调用OSSemPend()函数来等待接收信号量,调用OSSemPost()函数来发送信号量。信号量最好在系统初始化时创建,不要在系统运行的过程中动态的创建和删除。Uc/os-II不允许在中断服务程序中等待信号量。消息邮箱概述: 消息是任务之间的一种通信手段,当同步过程需要传递具体内容时就不能使用信号量了,此时可以选择消息信箱,即通过内核服务可以给任务发送消息。 邮箱用来在任务之间或中断与任务之间传递一个指针,以便任务可以通过指针发送和接收任意类型的数据(及消息,也就是指针指向消息队列缓冲区的内容)。消息是事先定义好的一个数据结构,包含了需要传递的参数,一个邮箱只能存放一条消息。消息邮箱仅仅是暂时保存来自一个发送者的消息,直到接收者准备读这些消息为止。由此可见,用来传递消息缓冲区指针的数据结构就是消息邮箱。消息邮箱函数列表OSMboxCreate() 功能描述:建立并初始化一个消息邮箱OSMboxDel() 功能描述:删除消息邮箱OSMboxPend() 功能描述:任务等待消息。OSMboxPost() 功能描述:通过消息邮箱向任务发送消息。OSQQuery() 功能描述:取得消息邮箱的信息OSMboxAccept() 功能描述:查看指定的消息邮箱是否有需要的消息OSMboxPostOpt() 功能描述:OSMboxPost的扩展,也是通过消息邮箱发送消息,不过可选择发送方式。六、消息队列概述: 消息队列就像一个类似于缓冲区的对象,通过消息队列任务和ISR发送和接收消息,实现数据的通信和同步。消息队列仅仅是暂时保存来自一个发送者的消息,直到接收者准备读这些消息为止。 消息队列传递的仍然是指针,以便任务可以通过指针发送和接收任意类型的数据(及消息,也就是指针指向消息队列缓冲区的内容)。消息队列具有一定的容量,可以容纳多条消息,因此可以看成是多个邮箱的组合。消息队列函数列表OSQCreate() 功能描述:建立一个消息队列OSQDel() 功能描述:删除消息队列OSQPend() 功能描述:

温馨提示

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

评论

0/150

提交评论