2.2
Download
1 / 152

2.2 嵌入式系统的软件基础 - PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on

2.2 嵌入式系统的软件基础. 2.2.1 软件系统概述 软件 (software) 是计算机系统中与硬件 (hardware) 相互依存的另一部分,它包括程序 (program) 、相关数据 (data) 及其说明文档 (document) 。 其中: 程序 是按照事先设计的功能和性能要求执行的指令序列; 数据 是程序能正常操纵信息的数据结构; 文档 是与程序开发维护和使用有关的各种图文资料。. 软件系统概述. 软件没有明显的制造过程。 一旦研制开发成功,就可以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发方面下工夫。.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 2.2 嵌入式系统的软件基础' - orson-clemons


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
2.2 嵌入式系统的软件基础

2.2.1 软件系统概述

软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。 其中:

  • 程序是按照事先设计的功能和性能要求执行的指令序列;

  • 数据是程序能正常操纵信息的数据结构;

  • 文档是与程序开发维护和使用有关的各种图文资料。


软件系统概述

  • 软件没有明显的制造过程。

    • 一旦研制开发成功,就可以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发方面下工夫。

  • 软件是一种逻辑实体,具有抽象性。

    这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。

  • 软件在使用过程中,没有磨损、老化的问题。

    软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率升高,从而使的软件退化。当修改的成本变得难以接受时,软件就被抛弃。

软件产品的特性

  • 软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。

  • 软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。

  • 软件是复杂的,而且以后会更加复杂。

    软件是人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开发常常涉及其它领域的专门知识,这对软件工程师提出了很高的要求。

  • 软件的成本相当昂贵。

    • 软件开发需要投入大量、高强度的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。

  • 软件工作牵涉到很多社会因素。

    许多软件的开发和运行涉及机构、体制和管理方式等问题,还会涉及到人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。


软件系统概述

  • 嵌入式系统软件也是嵌入式系统的核心之一,它由嵌入式操作系统及相应的各种应用软件构成。面向嵌入式系统的操作软件有以下特点:

  • 编码体积小,在嵌入式系统的有效存储空间运行;

  • 面向应用,可裁减和移置;

  • 实时性强,有时也称为实时多任务操作系统RTOS;

  • 可靠性高,无需人工干预独立运行,并处理不同时间的故障。


1、嵌入式软件系统的分类

控制、管理计算机系统的资源

嵌入式操作系统

嵌入式中间件(CORBA、

Java)等等

系统软件

嵌入式软件

系统分析设计工具

仿真开发工具

交叉开发工具

测试工具

配置管理工具

维护工具等

支撑软件

辅助软件开发的工具

应用软件

面向应用领域

手机软件、路由器软件

交换机软件、飞控软件

视频图像、语音、网络等


嵌入式软件系统的分类

  • 从运行平台来分,嵌入式软件可以分为

    • 运行在开发平台上的软件:设计、开发、测试工具等。

    • 运行在嵌入式系统上的软件:嵌入式操作系统、应用程序、驱动程序及部分开发工具。


应用

任务1

应用

任务2

应用

任务n

……

嵌入式CORBA

嵌入式JAVA

嵌入式

DCOM

面向应用领域的中间件

TCP/IP

网络系统

内核

文件

系统

嵌入式GUI

电源

管理

板级

初始化

FLASH驱动

RTC/定时器驱动

以太网驱动

键盘

驱动

其他

驱动

串口

驱动

LCD

驱动

2、嵌入式软件系统的体系结构

应用层

中间件层

操作系统层

驱动层

硬件


嵌入式系统软件设计的层次结构

嵌入式系统软件结构一般包含4个层面:设备驱动层、操作系统OS、中间层、应用程序层。也有些书籍将应用程序接口API归属于OS层。由于硬件电路的可裁减性和嵌入式系统本身的特点,其软件部分也是可裁减的。


1)驱动层

驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何外部设备都需要有相应驱动层程序的支持,它为上层软件提供了设备的接口。上层软件不用理会设备的具体内部操作,只需调用驱动层程序提供的接口即可。驱动层程序一般包括硬件抽象层HAL(提高系统的可移植性)、板极支持包BSP(提供访问硬件设备寄存器的函数包)和设备驱动程序。


驱动层

  • 板级初始化程序

    这些程序在嵌入式系统上电后初始化系统的硬件环境,包括嵌入式微处理器、存储器、中断控制器、DMA、定时器等的初始化。

  • 与系统软件相关的驱动

    • 这类驱动是操作系统和中间件等系统软件所需的驱动程序,它们的开发要按照系统软件的要求进行。


  • 与应用软件相关的驱动

    与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由应用决定。


  • 目前操作系统内核所需的硬件支持一般都已集成在嵌入式微处理器中了,因此操作系统厂商提供的内核驱动一般不用修改。2)操作系统OS层

    • 在设计一个简单的应用程序时,可以不使用操作系统。仅有应用程序和设备驱动程序。

    • 比如一个指纹识别系统只是完成简单的指纹录入和指纹识别,它在指纹识别的过程中需要高速的算法,所以需要32位处理器。但是它的任务并不复杂,也不牵连什么复杂的协议和管理,对于这样的系统就没有安装操作系统的必要。如果一定要安装操作系统,反而会带来新的系统开销,降低系统的性能。因为运行和存储操作系统需要大量的RAM和ROM,启动操作系统需要时间。


    • 在设计较复杂的程序时,可能就需要一个操作系统(在设计较复杂的程序时,可能就需要一个操作系统(OS)来管理和控制内存、多任务、周边资源等。依据系统所提供的程序界面来编写应用程序,可大大减少应用程序员的负担。现代高性能嵌入式系统的应用越来越广泛,操作系统的使用成为必然发展趋势。

    • 一般如果系统具有以下特点,系统运行较多任务,任务调度、内存分配复杂;系统需要大量协议支持,如网络协议、文件系统等;系统需要很好的图形用户接口GUI。那么建议使用操作系统。



    操作系统操作系统的功能简单来说就是隐藏硬件细节,而只提供给应用程序开发人员一个个抽象的接口。用户只需要和这些抽象的接口打交道,而不用在意这些抽象的接口和函数是如何与物理资源相联系的,也不用去管那些功能是如何通过操作系统调用具体的硬件资源来完成的。这样,如果以后硬件体系发生变化,只要在新的硬件体系下还运行着同样的操作系统,那么原来的程序还能一丝不错的完成原有的功能。OS层构成

    • 操作系统层包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分。

    • 其中嵌入式内核是基础和必备的部分,其他部分要根据嵌入式系统的需要来确定。


    对于使用操作系统的嵌入式系统而言,操作系统一般以内核映像的形式下载到目标系统中。以对于使用操作系统的嵌入式系统而言,操作系统一般以内核映像的形式下载到目标系统中。以μCLinux为例子,在系统开发完成之后,将整个系统部分做成内核映像文件,与文件系统一起传送到目标系统中。然后通过BootLoader指定地址运行μCLinux内核,启动已经下载好的嵌入式Linux系统;再通过操作系统解开文件系统,运行应用程序。


    整个嵌入式系统与通用操作系统类似,功能比不带有操作系统的嵌入式系统强大了很多。整个嵌入式系统与通用操作系统类似,功能比不带有操作系统的嵌入式系统强大了很多。

    内核中通常必需的基本部件是进程管理、进程间通信、内存管理部分,其他部件如文件系统、驱动程序、网络协议等都可根据用户要求进行配置,并以相关的方式实现。


    系统中最重要的资源是中央处理单元(整个嵌入式系统与通用操作系统类似,功能比不带有操作系统的嵌入式系统强大了很多。CPU),一般由很多正在执行的程序所共用。操作系统负责确定可在CPU上执行的程序及其执行时间的长短,此功能称为进程调度,调度的方法由操作系统所定的优先策略决定。另一个很重要的资源是存储器,包括存储空间,这些也由在CPU上执行的应用程序共享。

    除了为高级应用程序管理提供环境以外,操作系统还提供各种硬件中断服务所需的软件,以及驱动系统中存在的外设驱动程序。总之,操作系统将底层硬件细节抽象化,并通过系统调用提供应用程序与硬件之间的接口。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入/输出设备,并安装硬件中断服务子程序,以便处理这些设备所产生的各种信号;然后安装软件中断(由软件所产生的中断),以便处理下面将介绍的系统调用(高级应用程序为请求操作系统服务所产生的调用)。

    系统调用是应用程序请求操作系统服务的一种机制,很像高级程序语言中的程序或函数调用,当程序需要操作系统服务时,会产生一个预定义的软件中断,由操作系统提供服务。请求服务所需的参数一般由应用程序通过CPU的寄存器传递给操作系统。


    操作系统的应用程序接口一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入API

    API(Application Programming Interface,应用程序编程接口)是一系列复杂的函数、消息和结构的集合体。嵌入式操作系统下的API和一般操作系统下的API在功能、含义及知识体系上完全一致。可这样理解API:在计算机系统中有很多可通过硬件或外部设备去执行的功能,这些功能的执行可通过计算机操作系统或硬件预留的标准指令调用。


    操作系统的应用程序接口一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入API

    API的出现,使软件人员在编制应用程序时,就不需要为各种通过硬件或外设执行的功能而重新编制程序,只需按系统或某些硬件事先提供的API函数调用即可完成功能的执行。因此在操作系统中提供标准的API函数,可加快用户应用程序的开发,统一应用程序的开发标准,也为操作系统版本的升级带来了方便。在API函数中,提供了大量的常用模块,可大大简化用户应用程序的编写。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入3)中间层(驱动层软件)

    使用任何外设都需要有驱动程序的支持,驱动程序不仅要实现设备的基本功能函数,如初始化、中断响应、发送、接收等,而且还要提供完备的错误处理函数。中间层为上层软件提供了设备的操作接口。上层程序只需调用驱动程序提供的接口,而不用理会设备具体的内部操作。

    驱动层软件(中间层)将系统软件与底层硬件部分进行了隔离,使得系统的底层设备驱动程序与硬件无关。具体包括硬件抽象层HAL和板级支持包BSP。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入3)中间件层

    • 目前在一些复杂的嵌入式系统中也开始采用中间件技术,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向应用领域的中间件软件。

    • 如基于嵌入式CORBA的应用于软件无线电台的应用中间件SCA(Software Core Architecture)等。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入4)应用程序

    • 应用层

      • 应用层软件主要由多个相对独立的应用任务组成

      • 每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行。

    • 在一般简易的嵌入式系统中常采用汇编语言来编程。较复杂的系统中,汇编语言很难胜任。高级语言就有通用性强、编程方便、易于移植及可维护等优点,常用的高级语言有C/C++等。


    应用程序一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    实际的嵌入式系统应用软件建立在系统的主任务(Main Task)基础之上。用户应用程序主要通过调用系统的API函数对系统进行操作,完成用户应用功能开发。在用户的应用程序中,也可创建用户自己的任务。任务之间的协调主要依赖于系统的消息队列。

    操作系统是为应用程序提供基础服务的软件。而应用程序是在CPU上执行的一个或多个程序,在执行过程中会使用输入数据并产生输出数据。应用程序的管理包括程序载入和执行,程序对系统资源的共享和分配,并避免分配到的资源被其他程序破坏。


    应用程序一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    应用程序的设计流程是,先用编辑程序编写源代码,源代码可以由多个文件组成,以实现模块化;然后用编译程序或汇编个文件;接着使用链接程序将这些二进制文件组合为可执行文件。

    这些工作归结起来,可看作是实现阶段。然后,通过调试程序提供的命令运行得到的可执行文件,以测试所设计的程序。有时可利用解析程序找出程序中存在的性能瓶颈。在此验证阶段,如果找到错误或性能瓶颈,可以返回到实现阶段进行改进,并重复次流程。


    3一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入、嵌入式软件运行流程

    上电复位

    板级初始化

    远程升级

    引导/升级系统

    系统升级

    本地升级

    系统初始化

    • 基于多任务操作系统的嵌入式软件的主要运行流程

    • 该运行流程主要分为5个阶段

    应用初始化

    多任务应用


    嵌入式软件运行流程一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    上电复位、板级初始化阶段

    • 嵌入式系统上电复位后完成板级初始化工作。

    • 板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:

      • CPU中堆栈指针寄存器的初始化。

      • BSS段(Block Storage Space表示未被初始化的数据)的初始化。

      • CPU芯片级的初始化:中断控制器、内存等。


    嵌入式软件运行流程一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 系统引导/升级阶段

      • 根据需要分别进入系统软件引导阶段或系统升级阶段。

      • 软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。


    嵌入式软件运行流程一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 系统引导阶段

      系统引导有几种情况:

      • 将系统软件从NOR Flash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。

      • 不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。

      • 将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。


    嵌入式软件运行流程一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    系统升级阶段

    • 进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级。

    • 远程升级一般支持TFTP、FTP、HTTP等方式。

    • 本地升级可通过Console口使用超级终端或特定的升级软件进行。


    嵌入式软件运行流程一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 系统初始化阶段

      • 在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。

      • 系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。


    嵌入式软件运行流程一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 应用初始化阶段

      在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。

    • 多任务应用运行阶段

      各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。


    5 ide
    5一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入、集成开发环境(IDE)

    进行嵌入式系统开发时,选择合适的开发工具可以加快进度、降低开发成本。因此,含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理以及函数库的集成开发环境IDE是必不可少的。

    嵌入式软件开发的实现是在台式计算机上使用的交叉编译程序(cross compiler)、交叉汇编程序(cross assembler)等可以完成这些工作。然后通过JTAG、串口或网络接口定位下载到目标机上进行交叉编译和交叉调试。真正的差异存在于嵌入式系统的验证阶段(即测试最后的可执行文件)。下面将介绍一下常用的几种开发工具。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入1)常用的几种开发工具。

    • 汇编程序(assembler) 将汇编语言指令翻译成二进制机器指令,除了将操作码、操作数转换为相应的二进制编码外,汇编程序还将符号标签转换为实际地址。

    • 编译程序(complier) 将结构化程序翻译成机器(或汇编)程序。

    • 结构化程序语言具有可以大大简化编程工作的高级结构(如循环结构),因此每个高级结构都可以转变成几条或数十条机器语言指令。编译程序技术应用了许多程序最优化技术,可以生成很大且性能很高的代码。交叉编译程序可以在开发处理器上运行,进而生成在目标处理器上执行的代码。


    Arm c
    ARM一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入的C编译器的选择

    常见的ARM的C编译器主要有,

    • SDT 2.5(ARM Software Development Toolkit)

    • ADS 1.1/1.2(ARM Developer Suite)

    • RealView Developer Suite

    • arm-elf-gcc、arm-linux-gcc


    2 linker
    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入2)链接程序(linker)

    可以将分开汇编或编译的文件合并为一个程序。在此过程中,将所有机器指令组合成单个程序,并插入标准函数库中的指令。专为嵌入式处理器所设计的链接程序还可以删除未被调用程序和函数相关的二进制代码,删除分配给未使用变量的存储器,以降低整个程序存储空间的大小。


    6一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入、测试和调试阶段

    测试和调试阶段是整体设计流程的主要部分,尤其是开发将在嵌入式系统执行的程序。编程很容易出错,在编写大型程序时存在错误和缺陷是难免的。验证程序正确性的最常用方法是运行程序,在运行过程中应使用大量输入数据,以检查系统的行为,尤其是检查边界情况。如果开发的是将在台式计算机上运行的程序,则程序的验证相对容易一些。对于嵌入式系统程序员而言,这项任务更具挑战性,因为在嵌入式系统上运行的程序大都是实时的。


    1 debugger
    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入1)调试程序(debugger)

    调试程序(debugger)帮助程序员评估并更正程序。调试程序在宿主机处理器上执行,并支持单步执行。另外还允许程序执行到使用者所定义的断点。程序执行停止后,使用者可检查各存储器地址和寄存器中的值。

    由于当今很多程序都相当复杂而且很难一次编写正确,因此具有良好的调试能力是极为重要的。由于调试程序在宿主机处理器上执行,但所执行的代码确是为目标处理器而设计的,因此可以模仿或模拟目标处理器的功能。这些调试程序也称为指令集仿真程序或虚拟机(VM,Virtual Machine)。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入2)测试

    • 测试将在嵌入式系统中执行的程序有3种方式:利用指令集仿真程序调试;利用硬件仿真器仿真;以及将程序直接下载到目标处理器做现场测试。

    • 这些方法的差别如下:使用在开发计算机上执行的调试程序,其设计周期很快,但较不精确,因为它与系统中其他部分以及环境的交互有限;

    • 使用硬件仿真器时的调试时间要长一些,这是因为程序代码必须下载到仿真器的硬件中后才可以进行仿真调试。但硬件仿真器可以与系统的其他部分实时交互,其测试更精确;


    • 利用一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入JTAG下载器将程序下载到目标处理器的设计周期是三种方法中最长的。这是因为每次调试时必须将经编译和连接后的目标代码程序下载到应用系统中后,启动系统进行实际观察,如发现错误后,再返回到宿主机上重新编辑修改和编译下载后,再人工观察有无错误,这样需经多次反复后,直到无误后才可认为调试结束。但此种方式的优点是让系统和环境可以自由交互,能提供最高的执行精确度。一般具有一定调试经验的工程师常采用此方法。


    2 2 2
    2.2.2 一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入嵌入式实时操作系统简介

    • 操作系统可以简单分为通用操作系统和实时操作系统两类。我们平时在PC机上使用的Windows、Dos、Linux等操作系统都属于通用操作系统。这类操作系统的任务类型多种多样,它们一般比较强调系统的运行效率。

    • 实时操作系统就是“在给定的时间内提供某种程度的服务,如果在规定的时间内没有得到结果,那整个的系统就是失败”。对于实时操作系统其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼提高计算机系统的使用效率。


    • 实时多任务操作系统(一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入RTOS)是嵌入式系统应用最多的系统软件。RTOS是一段嵌入在目标代码中的程序,系统复位后首先执行,相当于用户的主程序,其他程序都建立在RTOS之上。同时RTOS还是一个标准的内核,将CPU时间、中断、I/O、定时器等资源都包含起来,留给用户一个标准的API,并根据各个任务的优先级,合理的在不同任务之间分配CPU时间。


    • RTOS一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入是针对不同处理器优化设计的高效实时多任务内核,可以面对几十个系列的嵌入式处理器提供类似的API接口。基于RTOS的C语言工具具有极大的可移植性(只需修改10%左右的内容)。在RTOS基础上可以编写出各种硬件驱动程序、专家库函数、行业库函数、产品库函数,和通用性的应用程序一起可以作为可以作为产品销售。

    • RTOS最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等,这些管理功能是通过内核服务函数形式交给用户调用的,也就是RTOS的API。


    实时操作系统的特点一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    (1)多任务

    一个任务也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间

    多任务运行的实现,实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化。


    内部事件:运算结果、设备请求等一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    事件驱动

    外部事件:开关量输入等

    实时任务

    绝对时间驱动

    时间驱动

    任务

    相对时间驱动

    非实时任务

    (2)任务的事件驱动通用操作系统只注重平均性能,所有任务的平均响应时间是关键,并不关心单个任务的响应时间。而嵌入式实时系统是指在一个确定的时间内,实现系统功能并做出及时响应的系统。


    3 cpu

    CPU一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    中断控制器1

    外部事件

    中断控制器2

    (3)中断与中断优先级系统实现中断可以带来CPU和外设间的同步工作、实现实时处理和故障处理。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入异常中断的优先级

    在嵌入式微处理器中通过给各异常中断赋予一定的优先级来实现这种处理顺序。优先级如下:

    复位(最高优先级);

    数据异常中止; FIQ; IRQ ;

    预取指令异常中止; SWI(软件中断)、 未定义指令(包括缺协处理器)。这两者是互斥的指令编码,因此不可能同时发生。

    复位是优先级最高的异常中断,这是因为复位从确定的状态启动微处理器,使得所有其他未解决的异常都没有关系了。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入微处理器的异常中断响应过程

    当发生异常时,除了复位异常立即中止当前指令外,处理器尽量完成当前指令,然后脱离当前的指令处理序列去处理异常。

    ARM处理器对异常中断的响应过程如下:

    首先,将当前程序状态寄存器CPSR的内容保存到将要执行的异常中断对应的备用程序状态寄存器SPSR中,以实现对处理器当前状态、中断屏蔽位及各条件标志位的保存。各异常中断模式都有自己相应的物理SPSR寄存器。


    其次设置一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入CPSR中的相应位

    • 设置CPSR模式控制位CPSR[4:0],使处理器进入相应的执行模式;设置中断标志位(CPSR[7]=1),禁止IRQ中断;

    • 当进入Reset或FIQ模式时,还要设置中断标志位(CPSR[6]=1),禁止FIQ中断。

  • 然后,将引起异常指令的下一条指令的地址保存到新的异常工作模式的R14即R14_mode中,使异常处理程序执行完后能正确返回原程序。

  • 最后,给程序计数器强制赋值,使程序在对应的矢量地址开始执行中断处理程序。一般矢量地址处将包含一条指向相应程序的转移指令,从而可跳转到相应的异常中断处理程序处执行异常中断处理程序。


  • 一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入从异常中断处理程序中返回

    从异常中断处理程序中返回时,需要执行以下4个基本操作:

    • 被修改过的用户寄存器必须从处理程序的保护堆栈中恢复(即出栈,恢复现场)。

    • 将SPSR_mode寄存器内容复制到CPSR中,使得CPSR从相应的SPSR中恢复,恢复被中断的程序工作状态。

    • 根据异常类型将程序计数器PC变回到用户指令流中相应的指令处(恢复断点)。

    • 最后清除CPSR(7或6位)中的中断禁止标志位I/F。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入4)同步与异步

    与系列时间相关事件称为同步事件,驱动的任务为同步任务。随机发生的事件称为异步事件,驱动的任务为异步任务,如中断等。

    (5)资源与临界资源程序进行时可使用的软硬件环境称为资源,2个以上任务可同时访问的共享资源称为临界资源。

    任何任务所占用的实体都可称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器,资源也可以是一个变量、一个结构或一个数组等。


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入6)容错与安全

    容错:当系统软、硬件发生故障时,系统仍能正常运转,完成预定的任务或某些重要的不允许间断的任务。包括系统自诊断、自恢复、自动切换等功能。

    安全性:是指系统对自身文件和用户文件的存取合法性的控制。如口令、加密。


    2一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入)嵌入式操作系统体系结构

    • 体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。

    • 体系结构是确保系统的性能、可靠性、灵活性、可移植性、可扩展性的关键,就好比房子的梁架,只有梁架搭牢固了才提得上房子的质量,再做一些锦上添花的工作才有意义。

    • 目前操作系统的体系结构可分为:单块结构、层次结构和客户/服务器(微内核)结构。


    用户一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    用户模式

    文件系统

    进程间通信

    I/O和设备管理

    内核模式

    虚存管理

    基本进程管理

    硬件

    嵌入式操作系统体系结构

    层次结构


    嵌入式操作系统体系结构一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    应用程序客户

    内存服务

    显示服务

    进程服务

    文件服务

    网络服务

    用户态

    核心态

    微内核

    发送

    硬 件

    应答

    客户/服务器结构(微内核结构)


    嵌入式操作系统体系结构一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 微内核结构的优点

      • 提供一致的接口

      • 可扩展性:扩展对新的软件/硬件支持

      • 灵活性:可伸缩

      • 可移植性

      • 分布式系统支持

      • 适用于面向对象操作系统环境

    • 性能问题:

      • 通过微内核构造和发送信息、接受应答并解码所花费的时间比进行一次系统调用的时间多

      • 很大程度取决于微内核的大小和功能


    嵌入式操作系统体系结构一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。

      • 分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关层,每层再划分功能模块。

      • 这样移植工作便集中在硬件相关层,与其余两层无关,功能的伸缩则集中在模块上,从而确保其具有良好的可移植性和可伸缩性。

      • 而采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。


    嵌入式操作系统体系结构一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    应用程序

    应用编程接口

    任务管理

    用户扩展处理

    I/O管理

    分层次

    模块化

    出错处理

    内存管理

    中断管理

    调度管理

    同步、通信管理(消息队列,信号量,事件,异步信号))

    时钟/定时器管理

    硬件抽象层

    硬 件

    DeltaCORE的体系结构:层次+模块结构


    嵌入式操作系统体系结构一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    用户模式

    网络管理器

    网络驱动

    应用

    图形管理器

    图形驱动

    应用

    设备管理器

    设备驱动

    应用

    文件系统管理器

    文件系统驱动

    内核模式

    内核(微内核)

    QNX4.25的体系结构:客户/服务器结构


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入1)嵌入式操作系统的组成

    …………


    嵌入式系统软件一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入-操作系统(EOS)

    • Embedded Operating System (EOS)

      • 应用在嵌入式系统上的操作系统

    • 主要功能

      • 负责嵌入式系统的全部软、硬件资源的分配、调度,将CPU时钟、I/O、中断等资源封装起来给用户提供一个标准的API接口,供用户调用。

    • 组成

      • 应用程序接口、设备驱动程序接口、设备驱动、操作系统内核等组成。


    EOS一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入的发展

    循环轮询系统

    单线程程序

    有限状态机

    分布式系统

    嵌入式软件

    多任务系统

    单机多任务系统

    事件驱动程序

    中断驱动系统


    一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入2)嵌入式内核

    • 内核是嵌入式操作系统的基础,也是必备的部分。

    • 内核还提供特定的应用编程接口,但目前没有统一的标准。

    通信同步与互斥机制

    任务管理

    内存管理

    中断管理

    时间管理

    任务扩展

    ……


    系统内核一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。

    内核提供的基本服务是任务切换。内核本身也增加了应用程序的额外负荷,代码空间增加了ROM的用量,内核本身的数据结构增加了RAM的用量。内核本身对CPU的占用时间一般在2到5个百分点左右。


    嵌入式内核一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 任务管理

      • 内核的核心部分,具有任务调度、创建任务、删除任务、挂起任务、解挂任务、设置任务优先级等功能。

      • 通用计算机的操作系统追求的是最大的吞吐率,为了达到最佳整体性能,其调度原则是公平,采用Round-Robin或可变优先级调度算法,调度时机主要以时间片为主驱动。

      • 而嵌入式操作系统多采用基于静态优先级的可抢占的调度,任务优先级是在运行前通过某种策略静态分配好的,一旦有优先级更高的任务就绪就马上进行调度。


    嵌入式内核一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 内存管理

      • 嵌入式操作系统的内存管理比较简单。

      • 通常不采用虚拟存储管理,而采用静态内存分配和动态内存分配(固定大小内存分配和可变大小内存分配)相结合的管理方式。

      • 有些内核利用MMU机制提供内存保护功能。

      • 通用操作系统广泛使用了虚拟内存的技术,为用户提供一个功能强大的虚存管理机制。

    返回


    嵌入式内核一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 通信、同步和互斥机制

      • 这些机制提供任务间、任务与中断处理程序间的通信、同步和互斥功能。

      • 一般包括信号量、消息、事件、管道、异步信号和共享内存等功能。

      • 与通用操作系统不同的是,嵌入式操作系统需要解决在这些机制的使用中出现的优先级反转问题。

    返回


    嵌入式内核一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 中断管理,一般具有以下功能:

      • 安装中断服务程序

      • 中断发生时,对中断现场进行保存,并且转到相应的服务程序上执行

      • 中断退出前,对中断现场进行恢复

      • 中断栈切换

      • 中断退出时的任务调度

    返回


    嵌入式内核一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 时间管理

      • 提供高精度、应用可设置的系统时钟,该时钟是嵌入式系统的时基,可设置为十毫秒以下。

      • 提供日历时间,负责与时间相关的任务管理工作如任务对资源有限等待的计时、时间片轮转调度等,提供软定时器的管理功能等。

      • 通用操作系统的系统时钟的精度由操作系统确定,应用不可调,且一般是几十个毫秒。

    返回


    嵌入式内核一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 任务扩展功能

      • 任务扩展功能就是在内核中设置一些Hook的调用点,在这些调用点上内核调用应用设置的、应用自己编写的扩展处理程序,以扩展内核的有关功能。

      • Hook调用点有任务创建、任务切换、任务删除、出错处理等。

    返回


    Tcp ip

    UDP一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入协议

    TCP协议

    ICMP/IGMP协议

    IP 协议

    ARP/PPP协议

    网络接口层

    异步串口驱动

    以太网驱动

    嵌入式TCP/IP

    应用程序/应用协议

    • TCP/IP协议已经广泛地应用于嵌入式系统中

    • 嵌入式TCP/IP网络系统提供符合TCP/IP协议标准的协议栈,提供Socket编程接口。

    Socket 接 口

    物 理 设 备


    Tcp ip1
    嵌入式一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入TCP/IP

    • 嵌入式TCP/IP网络系统具有以下的特点:

      • 可剪裁:

        能根据嵌入式系统的功能的要求选择所需的协议,对完整的TCP/IP协议簇进行剪裁,以满足用户的需要。

      • 采用“零拷贝”(Zero Copy)技术,提高实时性

        所谓“零拷贝”技术,是指TCP/IP协议栈没有用于各层间数据传递的缓冲区,协议栈各层间传递的都是数据指针,只有当数据最终要被驱动程序发送出去或是被应用程序取走时,才进行真正的数据搬移。


    Tcp ip2
    嵌入式一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入TCP/IP

    • 采用静态分配技术

      在网络初始化时就静态分配通信缓冲区,设置了专门的发送和接收缓冲(其大小一般小于或等于物理网络上的MTU值),从而确保了每次发送或接收时处理的数据不会超过MTU值,也就避免了数据处理任务的阻塞等待。


    嵌入式文件系统一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 通用操作系统文件系统通常具有以下功能:

      • 提供用户对文件操作的命令

      • 提供用户共享文件的机制

      • 管理文件的存储介质

      • 提供文件的存取控制机制,保障文件及文件系统的安全性

      • 提供文件及文件系统的备份和恢复功能

      • 提供对文件的加密和解密功能


    嵌入式文件系统一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入

    • 嵌入式文件系统相比之下较为简单,主要具有文件的存储、检索、更新等功能,一般不提供保护和加密等安全机制。

    • 它以系统调用和命令方式提供对文件的各种操作,主要有:

      • 设置和修改对文件和目录的存取权限

      • 提供建立、修改、改变、删除目录等服务

      • 提供创建、打开、读、写、关闭、撤消文件等服务


    3一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入)实时系统的评价指标

    实时系统是面向具体应用,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广可以从微秒级(如信号处理)到分钟级(如联机查询系统)。

    在实时系统中主要有三个指标来衡量系统的实时性,即响应时间(Response Time)、生存时间(Survival Time)、吞吐量(Throughput)。


    • 响应时间(一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入Response Time):是计算机识别一个外部事件到作出响应的时间,在控制应用中它是最重要的指标,如果事件不能及时的处理,系统可能就会崩溃。

    • 生存时间(Survival Time):是数据有效等待时间,在这段时间里数据是有效的。

    • 吞吐量(Throughput):是在一给定时间内(秒),系统可以处理的事件总数。例如通讯控制器用每秒钟处理的字符数来表示吞吐量,吞吐量是平均响应时间的倒数。


    2 dispatcher
    (2)一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入任务调度(dispatcher)

    这是操作系统的主要职责之一,它决定该轮到哪个任务运行了。

    往往调度是基于任务的优先级,根据其重要不同被赋予任务不同的优先级。 CPU总是让处在就绪态的优先级最高的任务先运行。

    何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。


    3 priority
    (3)一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入任务优先级(priority)

    首先介绍一下任务优先级的种类,每个任务都有其优先级(priority),静态优先级和动态优先级。

    应用程序执行过程中,如果各任务优先级不变,则称之为静态优先级。在静态优先级系统中,各任务以及它们的时间约束在程序编译时是已知的。

    应用程序执行过程中,如果任务的优先级是可变的,则称之为动态优先级。


    (4一般而言,开机后操作系统会初始化所有外设,如存储器控制器、计时器和输入)非占先式调度法与占先式调度法

    ①非占先式(non-preemptive)式调度法

    非占先式也称作合作型多任务(cooperative multitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。


    非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。正在运行着的任务占有CPU,而不必担心被别的任务抢占。非占先式内核的最大缺陷在于其响应高优先级的任务慢,中断优先级高的任务虽然已经进入中断就绪状态,但还不能立即运行,也许还需要等很长时间,直到当前正在运行的任务释放CPU。内核的任务及响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全取决于当前被中断的任务什么时候释放CPU。


    Non preemptive

    低优先级任务非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。

    (2)

    (1)

    ISR

    (3)

    TIME

    (4)

    中断服务程序使

    高优先级任务就绪

    (5)

    (6)

    高优先级任务

    (7)

    低优先级任务释放

    CPU使用权

    非占先式(Non-Preemptive)图


    Preemptive
    非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。占先式(抢先式)preemptive)

    当系统响应时间很重要时,要使用占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。即当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。

    使用占先式内核时,应用程序应使用可重入型函数,这样在被多个任务同时调用,而不必担心会破坏数据。


    也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。即可重入型函数使用的是局部变量,在通常的C编译器中把局部变量分配在栈中。所以,多次调用同一个函数可以保证每次的变量互不受到影响。

    如果调入不可重入型函数时,低优先级的任务CPU的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被破坏。比如,不可重入型函数中使用的是全局变量,这样全局变量可能会被更改。


    Preemptive1

    中断服务程序使也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。

    高优先级任务就绪

    低优先级任务

    (2)

    (1)

    高优先级任务

    ISR

    (3)

    TIME

    (4)

    (5)

    高优先级任务得到

    CPU使用权

    (6)

    占先式(Preemptive)图


    占先式内核的中断处理也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。


    2 2 3
    2.2.3 也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。常用的嵌入式操作系统概述

    简单的嵌入式系统可以不使用操作系统,被称为裸机设计,如8位单片机。复杂的系统常常使用嵌入式操作系统,这样的系统一般可以扩展程序存储器,资源相对较多,系统实现的功能比较复杂,软件开发的工作量和开发难度比较大,维护费用较高。使用嵌入式操作系统可以有效的提高这些系统的开发效率。


    1也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。、操作系统功能的概述

    现在的操作系统十分复杂,它管理着计算机系统中各种不同的软硬件资源。一般来说,操作系统主要功能有进程管理(处理机管理)、存储器管理、设备管理和文件管理。进程管理的主要功能是完成CPU资源的调度和分配,以某种预定的策略运行系统中的任务。存储器管理是操作系统的一个重要职责,主要完成计算机内存资源的管理和分配任务。设备管理负责管理各种计算机外设,主要有设备驱动程序完成。文件管理负责管理磁盘上的各种文件和目录。


    1也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。)进程管理

    • 程序、进程与线程的定义

    • 程序是由程序员编写的、存储在外存上的一组计算机指令。程序是一个静态的概念。

    • 进程是一个描述程序执行时动态特征的概念,即执行中的程序就叫进程。进程是动态的。一个进程的生命周期就是程序从程序开始运行到结束的过程。程序的每次执行都要形成一个新的进程,因此机器会存在多个不同进程的情况。

    • 线程是进程中的一个实体,一个进程可以有多个线程。线程的引入是为了减少进程切换的开销。

    • 进程控制 :创建进程、分配资源和撤销进程、释放其所占用的各类资源以及控制进程的状态转换。


    进程管理的功能也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。

    • 进程调度:其任务就是按照调度策略和分配处理机,提高CPU的利用率。进程调度由调度程序负责,调度程序根据调度算法从可运行的进程中选择一个进程来执行。

    • 进程同步:由于进程是并发运行的,多个进程序共享一个CPU、内存和I/O设备。其任务是对各进程的运行进行协调,协调方式有进程互斥(指进程在访问只允许一个进程独立访问的资源时应互斥进行)和进程同步(采用同步机制对完成共同任务的进程的执行次序加以协调)两种方式。

    • 进程通信:实现相互合作进程间的信息交换。主要是用管道、信号量、消息队列、共享内存和Socket套接字等方式进行。


    2也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。)存储器管理

    • 其任务是对主存储器资源的管理,提高存储器的利用率,为程序的并发运行提供一个良好的环境,以便用户使用。

    • 完成的功能:存储器分配和回收;内存共享与保护;地址映像;地址变换;存储扩充。

      其中地址映像是把主存相应地址的内容定位存放到Cache中某个地址中。

      地址变换是指把程序地址空间中的逻辑地址转换为机器内部主存空间对应的物理地址。


    3也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。)设备管理

    主要任务是:

    • 管理I/O设备,以提高CPU和I/O设备的利用率;

    • 处理用户程序的I/O设备申请,并完成其请求的I/O操作;

    • 简化I/O设备的使用并提高I/O设备的速度。

      具体完成时需具有缓冲管理、设备分配、设备处理和虚拟设备功能。

      虚拟设备功能是为使多个用户能共享独占设备(每次只允许一个进程是用的设备),系统通过某种技术是该设备在逻辑上能被多个用户共享,以提高设备利用率及加速程序的执行过程。


    4也就是说,可重入型函数在任何时候都可以被中断执行,过一段时间以后又可以继续运行,而不会在函数中断的时候被其他的任务重新调用,影响函数中的数据。)文件管理

    文件是信息和数据在外部存储设备的保存方式。文件管理既是对文件的组织和管理。文件管理应具有以下功能:

    • 文件存储空间的管理:由文件系统对文件的存储空间进行统一管理,对文件存储空间进行分配和回收。

    • 目录管理:系统为每个文件建立了一个文件目录项,它包含文件名、文件属性、文件所在的物理位置等信息。每个目录项就是一个文件的索引,目录管理通过目录项实现文件的有效组织和文件按名存取。



    随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从20世纪80年代开始,出现了一些嵌入式操作系统。这些操作系统经过不断的发展,已经逐渐成熟,在各个领域得到了广泛的应用。比较常用的操作系统有uC/OS-II 、Linux、Windows CE和 VxWorks等。


    2随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从、嵌入式操作系统的演变

    在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历了以下几个阶段:

    • 无操作系统阶段

    • 简单操作系统阶段

    • 实时操作系统阶段

    • 面向Internet的阶段


    3 uc os ii
    3随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从、uC/OS-II操作系统简介

    uC/OS-II(MicroControler Operating System )是美国人Jean J.Labrosse开发的实时操作系统内核。这个内核的产生与Linux优点相似,他花了一年多的时间开发了这个最初名为uC/OS的实时操作系统,并且将介绍文章在1992年的《Embedded System Programming》杂志上发表,其源代码公布在该杂志的网站上,1993年出书。这本书的热销以及源代码的公开推动了uC/OS-II 本身的发展。 uC/OS-II目前已经被移植到Intel、Philips、Motorola等公司不同的处理器上了。


    C os ii
    µC/OS-II随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从简介

    • µC/OS-II是一个抢占式实时多任务内核。它是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。

    • 至今,从8位到64位,µC/OS-II已经在40多种不同架构的微处理器上使用。

    • 使用µC/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。


    C os ii1
    嵌入式实时操作系统随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从µC/OS-II简介

    • µC/OS-II全部以源代码的方式提供,大约有5500行。

    • CPU相关的部分使用的是针对Intel80x86微处理器的代码。

    • µC/OS-II可以很容易地移植到不同架构的嵌入式微处理器上。


    1 uc os ii
    1随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)uC/OS-II内核的基本功能包括

    作为一个实时操作系统,uC/OS-II的进程调度是按抢占式、多任务系统设计的,即它总是执行处于就绪队列中优先级最高的任务。 uC/OS-II将进程的状态分为5个:就绪状态(Ready)、运行(Running)、等待(Waiting)、休眠(Dormant)和中断ISR。

    uC/OS-II内核的基本功能包括:任务管理、定时器管理、事件管理、系统管理、消息管理、信号量管理等,这些管理功能都是通过应用接口函数API由用户调用的。


    uC/OS-II随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从不支持时间片轮转调度法,所以赋予每个任务的优先级必须是不同。优先级号越低,任务的优先级越高。它的基本代码尺寸不到5KB,对存储器容量要求低,满足了嵌入式系统对体积苛刻。 uC/OS-II由完整的TCP/IP协议栈、GUI和文件管理系统,可以随内核一起移动。


    2 c os ii
    2随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)嵌入式实时操作系统µC/OS-II简介

    • µC/OS-II的特点:

      • 源代码

      • 可移植

      • 可固化

      • 可裁减

      • 可抢占性

      • 支持多任务

    • 可确定性

    • 任务栈

    • 系统服务

    • 中断管理

    • 稳定性和可靠性


    Uc os ii
    嵌入式随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从uC/OS-II的特点

    • 公开源代码,全部核心代码只有8.3KB。它只包含了进程调度、时钟管理、内存管理和进程间的通信与同步等基本功能,没有包括I/O管理、文件系统、网络等额外模块。

    • 可移植性、可固化、可裁减。在uC/OS-II操作系统中涉及到系统移植的源代码文件只有3个,只要编写4个汇编语言的函数、6个C函数、定义3个宏和1个常量,代码长度不过二三百行,移植起来并不困难。


    • 占先式 随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从uC/OS-II总是运行就需条件下优先级最高的任务。

    • 多任务 uC/OS-II可以管理64个任务,其中8个系统占用。

    • 可确定性 uC/OS-II的函数调用与服务的执行时间具有其可确定性。

    • 另外还有任务栈、系统服务、中断管理和稳定性和可靠性。

    • uC/OS-II的源代码绝大部分是用C语言编写的,经过编译就能在PC机上运行。仅有与CPU密切相关的一部分是用汇编语言写成的。


    • 源代码文件介绍随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从

      • 对函数和环境的定义: PC.C

      • 与处理器类型无关部分:

        OS_CORE.C OS_FLAG.C OS_MBOX.C OS_MEM.C OS_MUTEX.C OS_Q.C OS_SEM.C OS_TASK.C OS_TIME.C µCOS-II.C µCOS-II.H

      • 与处理器类型相关部分:

        OS_CPU_A.S OS_CPU_C.C OS_CPU.H

      • 给整个内核库提供总体的include文件:INCLUDES.H

      • 配置文件,定义使用µC/OS-II中的哪些功能:OS_CFG.H


    Ucos ii
    uCOS-II随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从的不足之处

    • 只有多任务调度的简单内核

    • 内存管理过于简单,几乎没有动态内存管理功能

    • 文件系统和图形界面需要外挂

    • 对于设备驱动程序没有专门统一的接口


    Ucos ii1
    随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从uCOS-II进行必要的扩展

    要想实现一个相对完整、实用的嵌入式操作系统,还需要相当多的扩展性的工作。以在UP-NETARM3000平台所开展的工作为例:

    • 建立了FAT兼容的文件系统——可用U盘方式交互

    • 外设及驱动程序的实现

    • 基于Unicode的汉字库

    • 基本绘图函数的实现

    • 其它实用API函数


    总体扩展框图随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从


    C os ii2
    注意:随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从µC/OS-II

    µC/OS-II不是自由软件,

    用于商业目的时须取得许可证


    4 linux
    4随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从、Linux操作系统简介

    • 嵌入式系统越来越追求数字化、网络化和智能化。因此原来在某些设备或领域中占主导地位的软件系统越来越难以为继,整个系统必须是开放的、提供标准的API,并且能够方便地与众多第三方的软硬件沟通。

    • Linux在嵌入式领域异军突起,不过是近两年的事情。过去的一年中有13%的用户已经开始使用嵌入式Linux系统进行开发工作;有52%的用户决定在未来24个月内开始使用Linux作为嵌入式操作系统的开发原型。


    • 随着随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从Linux的迅速发展,嵌入式Linux现在已经有了许多版本,包括强实时的嵌入式Linux(RT-Linux和KURT-Linux)和一般的嵌入式Linux(如uClinux和Porket Linux等)。其中,RT-Linux通过把通常的Linux任务优先级设为最低,而所有的实时任务的优先级都高于它,以达到既兼容通常的Linux任务,又保证强实时性能的目的。


    1 uc linux
    随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从1)嵌入式uCLinux

    另一种常用的嵌入式Linux是uClinux,它是指对Linux经过小型化裁剪后,能够固化在容量只有几百K字节或几兆字节的存储器芯片中,即针对没有MMU的处理器而设计的。它不能使用处理器的虚拟内存管理技术,对内存的访问是直接的,所有程序中的地址都是实际的物理地址。它专为嵌入式系统作了许多小型化的工作。嵌入式Linux(Embedded Linux) 应用于特定嵌入式场合。嵌入式Linux的开发和研究是目前操作系统领域的一个热点。


    2 linux
    随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从2)Linux的特点

    自由免费软件Linux的出现对目前商用嵌入式操作系统带来了冲击。它可移植到多个不同结构的CPU和硬件平台上,具有一定的稳定性、各种性能的升级能力,而且开发更加容易。由于嵌入式系统越来越追求数字化、网络化和智能化,因此要求整个系统必须是开放的、提供标准的API,并能够方便的与第三方的软硬件沟通。

    • 开放源代码,不存在黑箱技术。

    • 内核小、功能强大、运行稳定、效率高。


    特点随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从

    • 开放源代码的操作系统易于定制裁减,在价格上极具竞争力。

    • 不仅支持X86CPU,还可支持其他数十种CPU芯片。

    • 有大量的且不断增加的开发工具和开发环境。

    • 沿用了Unix的发展方式,遵循国际标准,可方便的获得众多第三方软硬件厂商的支持。

    • Linux内核的结构在网络方面是非常完整的,提供了对十兆、百兆、千兆以太网、无线网络、令牌网、光纤网、卫星等多种联网方式的全面支持。此外在图像处理、文件管理及多任务支持诸多方面也都非常出色。


    国外应用随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从Linux的产品有PDA、照相机、机顶盒、手机、书写板等。国内的中科红旗软件、蓝点、网虎科技等公司也推出了一些相应的产品。

    一个可用的Linux系统包括内核和应用程序两个部分。应用程序包括系统的部分初始化、基本的人机界面和必要的命令等内容。内核为应用程序提供了一个虚拟的硬件平台,以统一的方式对资源进行访问,并且透明的支持多任务。

    Linux内核可分为6部分:进程调度、内存管理、文件管理、进程间通信、网络和驱动程序。


    3 linux
    3随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从、嵌入式中的Linux

    • Linux的版本

      • ucLinux

      • RTLinux

      • 嵌入式linux

        • ARM-Linux 2.6.0


    1 linux
    1随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)Linux开发工具

    • vim 或 vi

      文本编辑器

    • gcc

      编译,生成可执行代码

    • gdb

      调试,通过串口可进行交叉编译

    • Makefile (或makefile)

      用于形成make, make clean等命令,实现自动编译、清除等操作。


    2随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)内核的裁减

    配置内核三种方式

    • make config

      最老的配置方式,以文本行的形式逐行回答yes 或者 no

    • make menuconfig

      以文本窗口的形式进行配置,具有较好的人机界面。

    • make xconfig

      与make menuconfig相同,当都只能在 X window下运行


    裁剪内核界面随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从


    3随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)驱动的编写及过程

    • Linux系统的设备分为字符设备(char device),块设备(block device)和网络设备(network device)三种。字符设备是指存取时没有缓存的设备。块设备的读写都有缓存来支持,并且块设备必须能够随机存取(random access),字符设备则没有这个要求。典型的字符设备包括鼠标,键盘,串行口等。块设备主要包括硬盘软盘设备,CD-ROM等。一个文件系统要安装进入操作系统必须在块设备上。

    • 网络设备在Linux里做专门的处理。Linux的网络系统主要是基于BSD unix的socket机制。在系统和驱动程序之间定义有专门的数据结构(sk_buff)进行数据的传递。系统里支持对发送数据和接收数据的缓存,提供流量控制机制,提供对多协议的支持。


    4随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)应用程序的开发

    • 图形界面

      • minigui

      • qt

    • 多线程

    • 网络


    5 windows ce
    5随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从、Windows CE操作系统简介

    1)概述

    Windows CE是Microsoft公司为开发各类信息设备而开发出来的一个嵌入式软实时操作系统。

    Windows CE是一个非常小巧精致的操作系统。这个操作系统的核心全部是由C语言开发的,操作系统本身还包含许多由各个厂家用C语言和汇编语言开发的驱动程序。Windows CE的内核提供内存管理、抢先多任务和中断处理功能。内核的上面是图形用户界面GUI和桌面应用程序。

    在GUI内部运行着所有的应用程序,而且多个应用程序可以同时运行。Windows CE没有DOS模式。


    • Windows CE随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从可以看作是Windows 98/NT的微缩版,专门为体积小、资源要求低、便携的机器而设计。但它们之间还存在着一些明显的差别,Windows CE不得不放弃某些复杂的特性。

    • Windows CE是针对有限资源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个强实时操作系统,高度模块化是它的重要特性,它适合作为可裁减的32位嵌入式操作系统。WinCE既适用于工业设备的嵌入式控制模块,也适用于消费类电子产品,如电话、机顶盒和掌上电脑等。针对不同的目标设备硬件环境,可以在内核基础上添加各种模块,从而形成一个定制的嵌入式操作系统。


    • Windows CE随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从的核允许每个进程有256个优先级,采用抢占式优先权调度法。Windows CE内核至少约为200KB的ROM。

    • 对于应用程序开发者来说,Windows CE提供了Windows 程序员熟悉的各种开发环境,例如, Microsoft Win32 API(应用程序接口)、ActiveX控件、消息队列、COM接口、ATL和MFC。它们不仅有助于提高开发者的开发效率,而且有利于从其他Wicrosoft平台上移植各种成功的应用程序。 Windows CE通过ActiveSync实现嵌入式设备与台式计算机之间的通信。


    2 win ce windows
    2随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)Win CE与Windows操作系统的区别

    • ⑴Windows CE不能运行现有的应用程序

      这意味着所有建立在Windows CE上的实时应用软件都必须为Windows CE重新编译连接。因此,这违背了Windows向下兼容的原则。

    • ⑵Windows CE有严格的内存限制。

      虽然目前桌面或PC的内存容量惊人地快速增长,为Windows 的运行提供了充分的内存空间,但在Windows CE下情况却不同。Windows CE的内存限制主要别现在以下三个方面。


    随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从减少物理内存数量:大多数Windows CE设备只能装入相对较小的物理内存。例如掌上型PC设备通常只有4MB或8MB内存。

    ②Windows CE设备的用户可以控制分配程序和存储使用的内存。

    ③Windows CE程序能够处理低内存状态。尤其是无论操作系统何时需要内存,它们都尽量释放一些正在使用的内存,这与使用Windows 98/NT不同。由上述可知,在编写Windows CE程序时,程序员应该对内存多加注意。


    Windows ce api
    ⑶ Windows CE随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从有精简的运行库和API

    Windows CE和Windows 98/NT平台的一个很大区别是前者缩减了C/C++运行库(RTL)和API。许多常见的ANSI函数已被Windows API函数代替或被完全删除。也就是说,现有的Windows程序可能一开始不能被Windows CE编译,必须做一些相应的修改。


    Windows ce
    ⑷Windows CE随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从设备通常没有鼠标

    大部分Windows CE设备没有鼠标。Windows CE设备中用一个被称为指示笔的笔样工具来代替鼠标。与鼠标不同,指示笔在屏幕上没有固定的指示标志,也就是所谓光标。

    Windows CE的指示笔只在用户用它轻击(敲击或触击)屏幕上的触摸屏时才与操作系统和应用程序交互,但是,Windows CE的指示笔仍然能有效的选择对象、导航菜单项等,Windows CE的窗口不能改变大小,窗口要么是最大化,要么是创建时的尺寸。


    Win ce
    ⑸Win CE随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从硬件并不十分标准化

    Windows 98/NT可以运行在任意标准配置的硬件上,如配备有Intel(或兼容)的芯片、适当内存、适当彩色或分辨率的显示器的计算机上。但Windows CE却并非如此,每个Windows CE设备厂商以不同方式进行设计,因此Windows CE设备不像计算机那样有标准配置。ActiveSync提供了从串行口、红外线接口到网络电缆的各种目前常用的通信手段。

    为了消费类电子产品, Windows CE内建了对多媒体、通信(TCP/IP、SNMP及TAPI等)和安全的支持,并已经有了各种常用的应用程序。利用这些开发环境,可以比较容易的实现娱乐、通信和事务处理等嵌入式应用。


    Win CE随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从主要包括:内核、存储、图形及多媒体、进程间通信、通信服务、安全服务、用户界面服务、Internet服务和本地化支持。

    使用Win CE用户需与 Microsoft公司签订合同方可获得源代码。

    Windows CE支持非常流行的Windows应用程序接口API,提供了互联网的浏览服务和其他服务,使其很适合用于需要与互联网连接的系统中。

    目前常使用的有Windows CE 4.2 、CE5.0 等版本。


    3 windows ce
    3随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)Windows CE版本和开发工具

    • (1)版本

      Windows CE.net

      Windows CE.net 4.2

    • (2)开发工具

      • 系统平台开发工具

        Platform Builder

      • 应用软件开发工具

        Embedded Visual C++

      • 同步程序

        Microsoft ActiveSync


    Platform builder
    Platform Builder随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从


    Embedded visual c
    Embedded Visual C++随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从


    Windows ce1
    Windows CE随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从结构模型


    4 wince
    随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从4)Wince 驱动

    • 本地驱动

      • 设备驱动程序是一些硬件所必需的,是由原始设备制造商创建的,用以驱动如键盘、触摸屏、音频设备等,往往在设备售出后就不会再更换,如通用LED驱动、电源驱动、键盘驱动和显示驱动等都是本机设备驱动。

    • 流接口驱动

      • 流接口设备驱动程序(指可安装的启动程序)可以由第三方生产商提供,以支持添加到系统中的设备。Windows CE下的设备驱动程序在与应用程序相同的保护级上工作。当系统启动时,大多数驱动程序是由设备管理进程(DEVICE.EXE)加载的,


    4 windows ce
    4随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)Windows CE 产品开发流程

    分为6个步骤

    (1).硬件设计

    (2).选定BSP

    系统的迁移主要是实现BSP,使得系统可以支持专门用于该系统的底板以及相关设备。Pb理自带一些标准的BSP,绝大多数BSP由CPU产品供应商提供。

    (3).获得驱动程序

    (4).裁剪内核

    (5).生成SDK

    通过pb生成自己的SDK,供编写应用程序。

    (6).编写应用软件


    6 vxworks
    6随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从、VxWorks

    VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式(无MMU)实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。

    VxWorks操作系统基于微内核结构,由400多个相对独立的目标模块组成,用户可以根据需要增加或减少模块来裁剪和配置系统,其连接器可按应用的需要来动态连接目标模块。大多数的VxWorks API是专用的,采用GNU的编译和调试器。


    Vxworks
    VxWorks随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从所具有的显著特点

    - 可靠性、实时性和可裁减性。

    - 它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS 、PowerPC等等。

    例如在美国的F-16和FA-18战斗机、B2隐形轰炸机、爱国者导弹和“索杰纳”火星探测车上使用的都是VxWorks操作系统。

    常见的嵌入式操作系统还有QNX、Nucleus Embedded、ThreadX、eCos、PalmOS、Symbian等等。


    Vxworks architecture
    VxWorks Architecture随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从


    7随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从、 智能手机操作系统简介


    概述随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从

    • 目前的手机操作系统平台被Symbian、Linux、微软和Palm四家所掌控。

    • 操作系统的成本占15%~20%。


    1 palm os
    1随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)Palm OS

    • “胖子”

    • 由Palm Computing公司设计开发的一种32位嵌入式操作系统,主要应用在掌上电脑(PDA),以及现在的智能手机。

    • Palm 已售出 3000 万部以上的移动化电脑产品 。

    • Palm OS操作系统的最大特点就是节能以及占用很少的系统资源。同时它还是采用开放式的架构,因此吸引了众多为Palm OS平台开发应用程序的程序设计人员。目前在其上面运行的共享软件和免费软件已超过1万种。


    2 symbian os
    2随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)Symbian OS

    • “塞班系统”

    • 由诺基亚联合摩托罗拉、西门子等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统,并得到了占据市场份额大多数的手持通讯设备厂商的支持 。

    • Symbian操作系统的前身是EPOC,而EPOC是 Electronic Piece of Cheese取第一个字母而来的,其原意为“使用电子产品时可以像吃乳酪一样简单”。

    • 在诺基亚的大力倡导下, Symbian已经成为一个开放的、易用的、专业的开发平台。支持C++,Java语言,支持蓝牙、USB、IPv4、IPv6、多任务、短信、彩信及各种信息服务。


    3 windows eos
    3随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)Windows 系列EOS

    • Windows Mobile

    • Windows CE(简称WinCE)

    • Windows XP Embedded(简称XPE)


    1 windows mobile
    随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从1)Windows Mobile

    • 在5.0 版本之前, Windows Mobile分为

      • 针对智能手机的版本Windows Mobile for SmartPhone,

      • 针对PDA手机的版本Windows Mobile for Pocket PC Phone,

      • 针对PDA 的版本Windows Mobile for Pocket PC。

    • Windows Mobile系列操作系统是在微软的Windows操作系统上变化而来的,因此,它们的操作界面非常相似。Windows Mobile系列操作系统功能强大,多数具备了音频/视频文件播放、上网冲浪、MSN聊天、电子邮件收发等功能 。

    • 支持该操作系统的智能手机多数都采用了英特尔嵌入式处理器,主频、硬件资源要求比较高。

    • 此系列手机也有一定的缺点,如因配置高、功能多而产生耗电量大、电池续航时间短、硬件成本高等缺点。


    Windows Mobile 6.0随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从


    2 windows ce wince
    随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从2)Windows CE(简称WinCE)

    • WinCE 是一款典型的嵌入式操作系统。

    • 是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而基于Win32 API从头开发的的战略性操作系统产品。

    • 迫于Linux不断夺取嵌入式系统市场份额的压力。2007年11月1日发布了其嵌入式操作系统的第六代产品Windows Embedded CE 6.0,并宣布将该程序的约350万行核心代码全部开放。


    3 windows embedded xp xpe
    随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从3)Windows Embedded XP(简称XPE)

    • 是Windows XP专业版的组件化了的平台,它继承了很多XP的优势,又开创了自已的一些为嵌入式特有的功能,嵌入式设备制造商可以以此量身定做,方便地开发诸如信息台,机顶盒,工控设备,医疗设备 或多媒体设备等嵌入式设备。


    Windows
    Windows 随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从总结

    • 微软这些嵌入式操作系统里面实际上只有两个内核

      • 一个是 WinCE 内核,包括Windows Mobile也是使用这个内核,目前Windows Mobile 5.0 和6.0版本使用的都是WinCE 5.x 版本的内核。该版本2004年推出,是目前广泛使用的一个产品。WinCE 目前的最新版本是6.0,2006年底正式发布。

      • 另外一个内核是XPE和WEPOS 使用的Windows XP的核心。

    • 可见微软在嵌入式系统的策略

      • 即WinCE 和Windows Mobile是具有实时的嵌入式操系统,目标是移动和通用的嵌入式设备,如手机、导航、PMP、机顶盒、工业控制设备和医疗仪器等。

      • Windows Embedded XP是一个非实时的可以嵌入的操作系统,目标是瘦客户机、零售机器、工厂生产线控制和技术外设存储和显示设备。


    4 linux1
    4随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)嵌入式Linux

    • 摩托罗拉为扭转在Symbian阵营中的不利位置,抢占智能手机市场,倡导“Linux+Java”的发展思路。


    5 gphone
    5随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从)GPhone

    • 基于Android平台的手机。

    • Android是Google公司领衔的三十余家企业成立开发手机联盟(OHA),推出的一个完全开源的平台。

    • 可使占手机成本25%的软件部分价格有望大大降低。

    • 由于完全开源,可随意开发手机应用程序。


    动态 趋势随着集成电路规模的不断提高,涌现出大量价格低廉、结构小巧、功能强大的微处理器,这样给嵌入式系统提供了丰富的硬件平台。目前限制嵌入式系统发展的瓶颈突出的表现在软件方面。从

    • 2008年春节前,诺基亚宣布收购挪威的奇趣科技(Trolltech)。后者的Qtopia是知名度最大的基于Linux的手机系统软件。

    • 手机的制造商转为互联网服务的提供商。


    ad