ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:248.44KB ,
资源ID:8768852      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8768852.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机三级考试嵌入式系统开发技术复习资料整理大全.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机三级考试嵌入式系统开发技术复习资料整理大全.docx

1、计算机三级考试嵌入式系统开发技术复习资料整理大全2014年计算机三级考试嵌入式系统开发技术复习资料整理大全1.嵌入式系统的定义 嵌入式计算机系统简称为嵌入式系统,将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。 嵌入式系统 :、以应用为中心、 以计算机技术为基础、 软件硬件可裁剪、 适应应用系统对功能、可靠性、成本、体积、功耗严格要求的 专用计算机系统。 嵌入式操作系统的特点:可固化 、可配置、可剪裁 、独立的板级支持包,可修改 、不同的CPU有不同的版本 、应用的开发需要有集成的交叉开发工具 嵌入式操作系统的组成:嵌入式操作系统、操作系统内核、文件系统、网络协议栈

2、、GUI 、USB协议栈等2. 通用计算机系统与嵌入式系统的比较 形式和类型 看得见的计算机。 按其体系结构、运算速度和结构规模等因素分为大、中、小型机和微机。组成 通用处理器、标准总线和外设。 软件和硬件相对独立。开发方式 开发平台和运行平台是通用计算机二次开发 应用程序可重新编程形式和类型 看不见的计算机 形式多样 应用领域广泛,按应用来分类组成 面向应用的嵌入式微处理器,总线和外部接口多集成在处理器内部,软件与硬件是紧密集成在一起的。开发方式 采用交叉开发方式,开发平台一般是通用计算机,运行 平台是嵌入式系统。二次开发 一般不能在编程微处理器构成的嵌入式系统(以家电为例) 4位、8位、1

3、6位、32位处理器 简单的冰箱、洗衣机、微波炉、电视机(CRT电视) 80-90年代的发达国家的高端家电=2010年的家电下乡产品 4位处理器固化的专用嵌入式芯片 除了媒体播放器和LCD电视机以外的量产的智能家电 8位处理器、需要写程序进去的产品3 .单片机 又称微控制器(Microcontroller)(MCU)将嵌入式应用所需要的微处理器、I/O接口、A/D、D/A转换、串行接口以及RAM、ROM通通集成到一个VLSI中, 制造出面向I/O设计的微控制器,就是我们俗称的单片机 DSP 数字信号处理器 与CPU(MCU)相比: 有更多的硬件运算单元 乘除法、矩阵 数字运算速度快 存储和外设管

4、理相对简单 适合数字滤波器和媒体编解码算法的运算 音频、视频处理 智能仪表 调制解调器ARM 32位RISC嵌入式处理器 ARM公司负责研发处理器内核的IP众多的公司购买IP的知识产权后制造出形式多样的MCU,如: 不同档次手机的处理器 上网本、PSP、平板电脑 嵌入式工业终端和银行ATM机 4. 嵌入式系统的特点(1) 形式多样、面向特定应用 硬件和软件都必须高效率地设计,避免冗余 低功耗的需求 低成本 高可靠 软件的一体化(OS&APP多种类型的处理器和处理器体系结构 MCU&DSPMCU:ARMMIPSPowerPC实时性和可靠性要求较高操作系统可剪裁、轻量型、实时可靠、可固化(5)嵌入

5、式系统开发需要专门工具和特殊方法5. 嵌入式系统的发展趋势 更高的集成度 更低功耗 普遍的网络支持 更加标准化6. ARM经典处理器 :ARM11、ARM9 和 ARM7 处理器系列 Cortex-A 系列 :共享同一体系结构,因此具有完整的应用兼容性, 支持传统的 ARM、Thumb 指令集和新增的高性能紧凑型 Thumb-2 指令集Cortex-R 系列 :快速 - 以高时钟频率获得高处理性能。确定性 - 处理在所有场合都必须符合硬实时限制。安全 - 系统必须可靠且可信。某些系统将是安全关键系统。成本效益 - 在处理器及其内存系统中都具有竞争力的成本和功耗。 ARM7 指令流水线技术 编程

6、模型的存储器格式大小常用串行接口():Serial Peripheral Interface-串行外设接口 ,主要应用在EEPROM,FLASH,实时时钟,AD转换器.(片间通信),是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件()UART即通用异步收发器, 可设置成全双工异步通讯方式; 或设置成半双工同步模式()InterIntegrated Circuit时序信号说明 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC

7、发出特定的低电平脉冲,表示已收到数据。嵌入式系统软件的构成方式()专用应用的软件结构(硬件描述和驱动层,应用软件)特点:资源占用小 特定应用的针对性强 系统稳定性高 ()简单操作系统平台结构特点:可根据应用需求定制的底层,降低开发难度,合理的利用已有第三方资源 资源占用略大()通用操作系统平台适合更改多应用程序运行的多应用平台 具有更加通用的GUI、网络互联、存储支持 如:Linux、WinCE、iOS、Symbian、Android 嵌入式系统软件分类系统软件:控制、管理计算机系统的资源 应用运行平台 数据库管理系统 如嵌入式操作,系统嵌入式中间件(.Net Framwork、Java)等等

8、支撑软件:辅助软件开发工具如系统分析设计工具、仿真开发工具、交叉开发工具测试工具、配置管理工具、维护工具等应用软件:面向应用领域如手机软件、路由器软件、交换机软件 、游戏、阅读器、移动办公、远程控制嵌入式软件系统的体系结构如下图所示:硬件设备驱动:操作系统:包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分,其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来定制中间件和基础构架软件:承载通用应用的应用框架如虚拟机和框架承载通用应用的外壳如AndroidWeb浏览器高层协议栈应用层应用层软件主要由多个相对独立的应用任务组成,每个应用任务完

9、成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行、嵌入式文件系统,(常用嵌入式文件系统FAT Fs、JFFS2、YAFFS、UBIFS)通用文件系统功能如下:提供用户对文件操作的命令提供用户共享文件的机制管理文件的存储介质提供文件的存取控制机制,保障文件及文件系统的安全性提供文件及文件系统的备份和恢复功能提供对文件的加密和解密功能而嵌入式文件系统,相比之下较为简单,主要具有文件的存储、检索、更新等功能,一般不提供保护和加密等安全机制。它以系统调用和命令方式提供对文件的各种操作,主要有:设置和修改对文件和目录的存取权限 提供建立、修改、改变、删除目录等服务提供创建

10、、打开、读、写、关闭、撤消文件等服务 嵌入式软件运行流程如下:上电复位、板级初始化阶段:嵌入式系统上电复位后需要进行硬件的初始化工作。不同的系统,初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:CPU中堆栈指针寄存器的初始化。BSS段(Block Storage Space表示未被初始化的数据)的初始化。CPU芯片级的初始化: 中断控制器、定时器、接口、内存等的初始化系统引导升级阶段:根据需要分别进入系统软件引导阶段或系统升级阶段。软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。 引导:操作系统装,分为下列情况:将系统软件从NOR Flash中读取出来加载到R

11、AM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。 不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低升级:又称为固件更新进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级。远程升级一般支持TFTP、FTP、HTTP等方式。本地升级可通过Console口使用超级终端或USB的升级软件进行。系统初始化阶段在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所

12、需的接口和外设等。系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。 应用初始化阶段在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。多任务应用运行阶段各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。嵌入式系统内核内核是嵌入式操作系统的基础,也是必备的部分。内核还提供特定的应用编程接口,但目前没有统一的标准。 ()任务管理:内核的核心部分,具有任务调度、创建任务、删除任务、挂起任务、解挂任务、设置任务优先级等功能。 通用计算机的操

13、作系统追求的是最大的吞吐率,为了达到最佳整体性能,其调度原则是公平,采用Round-Robin或可变优先级调度算法,调度时机主要以时间片为主驱动。而嵌入式操作系统多采用基于静态优先级的可抢占的调度,任务优先级是在运行前通过某种策略静态分配好的,一旦有优先级更高的任务就绪就马上进行调度。()内存管理:通常不采用虚拟存储管理,而采用静态内存分配和动态内存分配(固定大小内存分配和可变大小内存分配)相结合的管理方式。有些内核利用MMU机制提供内存保护功能。通用操作系统广泛使用了虚拟内存的技术,为用户提供一个功能强大的虚存管理机制。()通信同步和互斥机制这些机制提供任务间、任务与中断处理程序间的通信、同

14、步和互斥功能。一般包括信号量、消息、事件、管道、异步信号和共享内存等功能。与通用操作系统不同的是,嵌入式操作系统需要解决在这些机制的使用中出现的优先级反转问题。()中断管理其功能如下:安装中断服务程序中断发生时,对中断现场进行保存,并且转到相应的服务程序上执行中断退出前,对中断现场进行恢复中断栈切换中断退出时的任务调度 时间管理:提供高精度、应用可设置的系统时钟,该时钟是嵌入式系统的时基,可设置为十毫秒以下。提供日历时间,负责与时间相关的任务管理工作如任务对资源有限等待的计时、时间片轮转调度等,提供软定时器的管理功能等。通用操作系统的系统时钟的精度由操作系统确定,应用不可调,且一般是几十个毫秒

15、任务扩展管理:任务扩展功能就是在内核中设置一些Hook的调用点,在这些调用点上内核调用应用设置的、应用自己编写的扩展处理程序,以扩展内核的有关功能。Hook调用点有任务创建、任务切换、任务删除、出错处理等、嵌入式协议特点如下:可剪裁:能根据嵌入式系统的功能的要求选择所需的协议,对完整的TCP/IP协议簇进行剪裁,以满足用户的需要。采用“零拷贝”(Zero Copy)技术,提高实时性, 所谓“零拷贝”技术,是指TCP/IP协议栈没有用于各层间数据传递的缓冲区,协议栈各层间传递的都是数据指针,只有当数据最终要被驱动程序发送出去或是被应用程序取走时,才进行真正的数据搬移采用静态分配技术在网络初始化时

16、就静态分配通信缓冲区,设置了专门的发送和接收缓冲(其大小一般小于或等于物理网络上的MTU值),从而确保了每次发送或接收时处理的数据不会超过MTU值,也就避免了数据处理任务的阻塞等待。 、嵌入式实时操作系统C/OS-II简介C/OS-II是一个抢占式实时多任务内核。它是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。至今,从8位到64位,C/OS-II已经在40多种不同架构的微处理器上使用。使用C/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。 C/OS-II全部以源代码的方式提供,大约有5500行。CPU相关的部分

17、使用的是针对Intel80x86微处理器的代码。C/OS-II可以很容易地移植到不同架构的嵌入式微处理器上。 特点如下:源代码可确定性可移植性任务栈可固化系统服务可裁减中断管理可抢占支持多任务稳定性可靠性实时操作系统的基本概念 是指能对外部事件在限定的时间内完成及时响应的多任务操作系统,往往采用微内核结构,就有实时性、可靠性和可剪裁性的特点()多任务任务的调度CPU控制下的任务的状态转移和切换 时间片轮转优先加抢先优先级不可抢夺的调度优先级可被抢夺的调度 ()任务间通信事件信号量()可重入可重入函数是指函数代码在运行过程中被中断,在中断返回时仍然能够恢复到原来的状态,并能准备无误的执行的函数.

18、()临界区(Critical)处理时不可分割的代码 每个进程中访问临界资源的那段代码称为临界区(Critical Section)(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区()资源(Resource)变量、数组、输入输出设备、网络共享资源 被一个以上任务使用的资源 使用时的独占 ()互斥 两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥.17 任务管理与调度进程(process)和线程(thread)的统称 任务是调度的基本单位进程主要包括以下内容: 一个正在执行的程序;计算机中正在运行的程序

19、的一个实例;可以分配给处理器,并由处理器执行的一个实体;由一个顺序的执行线程、一个当前状态和一组相关的系统资源所刻画的活动单元。采用多任务的好处任务的规模较小每个任务更容易编码和调试,其质量也更容易得到保证不少应用本身就是由多个任务构成的如一个应用可能需要进行以下任务的处理:计算、从网络获取数据和刷新显示屏幕采用多任务的处理方式是应用问题的一个非常自然的解决方式任务之间具有较高的独立性,耦合性小通过增加新的任务就能方便的扩充系统功能实时和优先级保证紧急事件得到优先处理成为可能进程和线程线程:调度执行的单位,线程是进程内部一个相对独立的控制流,由线程上下文和需要执行的一段程序指令构成进程:资源分

20、配的单位,在进程中,所有线程共享该进程的状态和资源,可以访问相同的数据使用进程的好处创建: 在一个已有进程中创建一个新线程比创建一个全新的进程所需的时间开销少;终止: 终止一个线程比终止一个进程所花费的时间少;切换: 线程切换比进程切换所花费的时间少;使用线程的好处通信: 使同一进程内部不同线程之间的通信效率得到显著提高。 在大多数操作系统中,不同进程之间的通信需要内核的干预,而同一进程内部不同线程之间则可直接通信。操作系统的进程模型 单进程单线程 MS-DOS 单进程多线程 :或简单地称为任务模型,把整个应用当作一个没有定义的进程来对待;应用则被划分为多个任务的形式来进行处理,适用于实时性要

21、求较高的、相对简单的应用 多进程单线程、传统的linux多进程多线程:多功能设备采用的嵌入式实时操作系统。系统中包含多个进程,每个进程对应又包含多个线程。适合于处理复杂的应用18C/OS-II任务控制块:当一个事件发生后,等待事件列表中优先级最高的任务(即在.OSEventTbl&OSEventGrp中所有被置1的位中优先级数值最小的任务)得到该事件。 C/OS-II采用双向链表来管理所有任务的TCB TCB(Task Control Block)用来存储一个任务的当前属性。任务的主要属性包括:(1)任务栈空间位置,即前节所述该任务的栈空间。(2)任务与其它任务通信的数据空间,在C/OS-II

22、中称为事件 (3)任务的当前状态,标识当前任务是在运行还是在等待某个事件发生;(4)任务的优先级,任务的标识,全系统唯一,此值是任务调度的依据 。C/OS-II任务优先级C/OS-II操作系统进行任务调度所采用的算法是基于优先级的调度算法任何一个任务有唯一的一个任务优先级值INT8U OSTCBPrio; /优先级值,如果为0表示优先级最高typedef unsigned char INT8U; / INT8U类型就是unsigned char 在C/OS-II操作系统中,优先级值越大,优先级越低,因此,优先级值为0的任务优先级最高。因为优先级类型为unsigned char(范围为0255)

23、,因此,定义C/OS-II操作系统优先级值最大为255,也就是说,最多允许创建256个任务(一个任务有唯一的优先级)。在目前的C/OS-II版本中,仅允许创建64个任务,最低优先级值为63 C/OS-II调度算法和调度方式优先级调度算法原理为: 给每一个任务分配一个惟一优先级,各优先级用一个整形数值标识,某优先级的值越大,其优先级越低;某优先级的值越小,其优先级越高。也就是说,如果当前操作系统准备进行调度,当有两个任务处于就绪状态, 系统将优先执行优先级别高的任务。C/OS-II操作系统有两种调度方式: 任务级任务调度和中断级任务调度, C/OS-II操作系统在完成中断后允许进行新的调度,因此

24、,C/OS-II操作系统是可抢占性的,是强实时性操作系统,这是C/OS-II操作系统内核的重要特性。 调度的主要功能 (1)查找当前就绪表中最高优先级任务的优先级值;(2)调用OS_SchedNew()函数进行任务切换,切换到新任务执行。 C/OS-II操作系统使用OS_Sched()函数来执行任务级任务调度。 任务的基本信息CPU中的PC寄存器:任务(程序)当前执行的位置;CPU中的通用寄存器:任务当前执行代码所涉及的临时数据;CPU中的状态寄存器:存储当前CPU的状态。任务级任务切换:任务级任务切换是指从一个任务直接切换到另一个任务,引起该次切换是由于某一个非中断引起的事件(关于事件的概念

25、请参阅后结章节)使一个更高优先级的任务处于就绪状态,暂停正在运行着的任务,转而切换去执行更高优先级任务。在整个过程中,不涉及到CPU状态的切换,C/OS-II操作系统使用汇编程序来实现OS_TASK_SW()函数。切换过程如下:1)将当前任务的PC位置、通用寄存器数据、CPU的状态入栈;(2)修改全局变量OSPrioCur(当前任务优先级变量)的值为全局变量OSPrioHighRdy(最高优先级任务优先级)的值,即把最高就绪任务优先级设置为新的当前任务优先级;(3)修改原任务TCB的第1个成员(指向栈顶的指针*OSTCBStkPtr)的值为当前SP寄存,以便再次返回;(4)获取最高优先级的任务

26、控制块中第1个成员(指向堆栈栈顶指针*OSTCBStkPtr)的值到sp寄存器;(5)修改OSTCBCur的值为新就绪最高优先级任务的任务控制块地址;(6)将新任务的PC位置、通用寄存器数据、CPU的状态出栈,开始执行新的任务。调度器上锁和解锁C/OS-II操作系统使用OSSchedLock()函数和OSSchedUnlock()函数进行锁定(不允许任务级调度)和解锁(重新允许任务级调度)调度器,在用户应用程序中,OSSchedLock()和OSSchedUnlock()是成对出现的,否则系统有可能出错。在调用函数OS_Sched()进行调度时,要求没有进入中断,因为操作系统期望中断处理程序执

27、行时间尽可能短 。C/OS-II中断管理(1)硬件中断一般是由外部(相对CPU内核而言)的硬件引起的事件,比如串口接收到数据、键盘击键以及时钟中断等;(2)软件中断(Soft Interrupt)通过在程序中执行的中断指令引起的中断,又叫软中断,软中断指令一般用于操作系统的系统调用入口,软中断是用户访问操作系统提供的服务(API函数)的惟一途径。 中断响应的过程:(1)硬件中断一般是由外部(相对CPU内核而言)的硬件引起的事件,比如串口接收到数据、键盘击键以及时钟中断等; (2)软件中断(Soft Interrupt)通过在程序中执行的中断指令引起的中断,又叫软中断,软中断指令一般用于操作系统

28、的系统调用入口,软中断是用户访问操作系统提供的服务(API函数)的惟一途径。ARM处理器中断响应 :(1)拷贝当前CPSR到对应模式的SPSR寄存器中以存储当前程序状态,这些信息包括当前处理器模式、中断屏弊位以及控制标识。(2)改变CPSR寄存器的模式位使处理器工作于对应模式、禁止中断位,其中,在任何异常情况下都将禁止IRQ请求位,当复位中断和FIQ中断发生时还将禁止FIQ请求位。(3)保存返回地址到对应模式链接寄存器(LR)。(4)设置当前程序PC寄存器到中断向量地址以处理异常。这将强制跳转到相应的中断处理程序中。 ARM处理器中断返回 :(1)从相应模式的SPSR寄存器中恢复CPSR寄存器

29、内容;(2)恢复存储在栈中的普通寄存器数据;(3)从相应模式的链接寄存器LR中恢复PC寄存器以使程序从中断处重新执行。RTOS信号量的操作过程:创建信号量、获取(申请)信号量、释放信号量、删除信号量、清除信号量的任务等待列表 、获取有关信号量的各种信息 获取信号量:如果任务等待一个使用优先级继承算法的互斥信号量,且它的优先级高于当前正占有此信号量的任务的优先级,那么占有信号量的任务将继承这个被阻塞的任务的优先级。如果任务成功地获得一个采用优先级天花板算法的互斥信号量,它的优先级又低于优先级天花板,那么它的优先级将被抬升至天花板。当所申请的信号量不能被立即获得时,可以有以下几种选择:永远等待 不

30、等待,立即返回,并返回一个错误状态码指定等待时限(可有效避免死锁)注意:不允许在ISR中选择等待;当任务选择等待时,将被按FIFO或优先级顺序放置在等待队列中释放信号量:功能:释放一个应用指定的信号量。 if 没有任务等待这个信号量then 信号量的值加1 else 将信号量分配给一个等待任务(将相应的任务移出等待队列,使其就绪) 如果使用了优先级继承或优先级天花板算法,那么执行该功能(系统调用)的任务的优先级将恢复到原来的高度。 删除信号量:功能:从系统中删除应用指定的一个信号量内核动作:将信号量控制块返还给系统删除信号量的不一定是创建信号量的任务如果有任务正在等待获得该信号量,执行此功能将使所有等待这个信号量的任务回到就绪队列中,且返回一个状态码指示该信号量已被删除企图获取已删除的信号量将返回一个错误;在互斥信号量正被使用时(已经被某任务获取),不能删除它。因为该信号量正在保护一个共享资源或临界代码段,该动作可能造成数据崩溃或其他严重问题。 信号量实现生产-消费问题应用实例

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1