近些年来,随着嵌入式系统飞速的发展,嵌入式实时操作系统广泛地应用在制造工业、过程控制、通讯、仪器仪表、汽车、船舶、航空航天、军事、装备、消费类产 品等方面。今天嵌入式系统带来的工业年产值超过了1万亿美元。当前嵌入式操作系统有数百种,比较流行的有Nucleus Plus,QNX,Lynx OS,Psos,VRTX,VXWorks,Windows CE等。它们各有特色,用户可以根据自身的软硬件环境的要求,选择合适的操作系统。本文介绍了实时多任务嵌入式操作系统Nucleus
PLUS。
(一)Nucleus内核
Nucleus PLUS 是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。Nucleus PLUS 的RTOS内核可支持如下类型的CPU:x86,68xxx,68HCxx,NEC V25, ColdFire, 29K,i960, MIPS, SPARClite, TI DSP, ARM6/7, StrongARM, H8/300H, SH1/2/3, PowerPC,
V8xx, Tricore, Mcore, Panasonic MN10200, Tricore, Mcore等。可以说NUCLEUS+是支持CPU类型最丰富的实时多任务操作系统。
针对不同的CPU类型,Nucleus 还提供编译器、动态连接库、多任务调试器等相应的工具来配置用户的开发环境。值得提出的是ATI公司最近还发表了基于Microsoft Developers Studio的嵌入式集成开发环境-NUCLEUS EDE。从而率先将嵌入式开发工具与Microsoft的强大开发环境结合起来,提供给工程师们强大的开发手段。
(二)Nucleus PLUS的特点:
1、源代码开放
Nucleus PLUS 注释严格的C源级代码,用户能深入了解底层内核运作方式、进行 RTOS 的学习和研究、调试方便,根据需求裁剪内核、节省费用。用户完全可以控制内核而不必担心操作系统中可能的异常任务导致系统崩溃。
2、性价比高
先进的微内核 ( Micro-kernel ) 技术使得Nucleus PLUS在任务优先级安排、任务调度和切换等方面都有优势。另外,对C++语言的全面支持又使得Nucleus PLUS 的 Kernel 成为名副其实的面向对象的实时操作系统内核。然而,其价格却比较合理。所以,容易被广大的研发单位接受。
3、功能模块丰富
Nucleus PLUS 除提供功能强大的内核操作系统外,还提供种类丰富的功能模块。例如用于通讯系统的局域和广域网络模块、支持图形应用的实时化Windows 模块、支持Internet网的WEB 产品模块、工控机实时 BIOS 模块、图形用户接口以及应用软件性能分析模块等。用户可以根据自己的应用来选择和裁剪。
(三)Nucleus PLUS系统架构:
从实现角度来看,Nucleus PLUS 是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中执行。在典型的目标环境中,Nucleus PLUS 核心代码区一般不超过20K字节大小。
Nucleus Plus内核(Kerne1)的主要目的是管理实时多任务的竞争运行(共享CPU),为应用提供各种便利、快速响应外部事件。因此Nucleus Plus 提供实时、抢占式多任务管理、多种任务间通信和同步手段、动态和分区内存(Dynamic/Partition Memory)两种存储器管理机制。Nucleus Plus还提供定时器(Timer)来处理周期性事件和任务的睡眠和挂起超时。Nucleus Plus的系统结构如图1所示。
从Nucleus的系统结构框图可以看出线程控制是整个内核的核心,通过邮箱、队列、管道来实现任务之间的通信,通过信号量、事件组和信号实现任务间的同步。
Nucleus PLUS系统采用软件组件的形式构成以增加系统的代码清晰性、可靠性和可重用性,使系统模块化、易于维护。Nucleus PLUS由多个软件组件构成,每个组件通常由两个头文件和几个C、汇编语言源程序构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。除了少数一些特殊情况外,不允许从外部直接访问组件内的全局变量。这种组件架构使得Nucleus PLUS的每个软件组件可以被轻松的替换和重用。
Nucleus PLUS 采用了软件组件的方法。每个组件具有单一而明确的目的,由于采用了软件组件的方法,Nucleus PLUS 各个组件非常易于替换和复用。Nucleus PLUS 的组件包括任务控制、内存管理、任务间通信、任务的同步与互斥、中断管理、定时器及I/O驱动等16个组件。
针对各种嵌入式应用,Nucleus PLUS 还提供相应的网络协议(如TCP/IP,SNMP等),以满足用户对通讯系统的开发要求。另外,可重入的文件系统、可重入的C函数库以及图形化界面等也给开发者提供了方便。
(四)Nucleus的应用领域和国内外用户
Nucleus主要应用领域在:网络、路由、桥接、Hubs、数据通讯、顶置盒、数字摄像机、ISDN、调制器、数字绘图仪、GSM、蜂窝电话、PDA、打印机、GPS、无线通讯、汽车、医疗仪器、RAID、适配卡、智能卡、安全保密、工业控制、扫描仪、煤气分析仪、游戏机、多媒体、手持产品、消费产品、局域网、广域网、导航设备、卫星通信、自动提款机、视频产品、条码机、过程控制等等。
Nucleus部分典型的用户名单:
AT&T/Lucemt, Blaupunkt, Compaq Computer, Canon, Chrysler Technologies, Dassault SA, DOD, Draper Labs, Eastman Kodak, Ford Motor Company, General Motors, General Electric, GE Medical, Goddard Space Flight Systems, Fujitsu, Harris
Digital Phone, Hewlett Packard, IBM, IGT Interface Systems, Kenwood Corporation, Lucent ,Mannesmann Tally Corp, M.I.T., Motorola, NASA, NEC, Network Peripherals, Nippon Denso, MSA Baseline, Orbitel Mobile Comm, Psi Printer GmbH, Philips Semiconductor, Rockwell
International, Sagem SA, Samsung Electronics, Siemens, Sony Corp, Storage Technology, Texas Instruments, Takasago Corp, Toyota, Video Lottery, Video Guide, VLSI, Westinghouse, Xircom, Zitel。
国内部分用户:
航天部204所,邮电部数据所,北京卡斯特,航空部614所,中科院沈阳自动化所,北京千网数据公司,北京凌云公司,清华大学,长沙国防科技大学,复旦大学,华北电力大学,郑州信息工程学院,烟台东方电子集团,深圳桑达,上海博达,深圳迈瑞,深圳天地通讯,铁道部大连内燃机车研究所,总参机要局,南京南瑞总公司,航天第二设计院,西安仪表,郎讯(中国)有限公司,海军计算所,恒基伟业,广州金鹏集团,杭州东方集团,福州新大陆,深圳康佳,西安东强,北京华大集成电路设计中心,广东信利集团,香港IDT,香港讯研,太原中航仪表集团,新科电子,上海中兴,上海广电,石家庄54所,总参56所,武汉邮科院,上海德理,上海贝尔,斯高柏(C-Cube)、航天部503所等等。
Nucleus PLUS简介