近些年来,随着嵌入式系统飞速的发展,嵌入式实时操作系统广泛地应用在制造工业、过程控制、通讯、仪器仪表、汽车、船舶、航空航天、军事、装备、消费类产 品等方面。今天嵌入式系统带来的工业年产值超过了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的强大开发环境结合起来。提供给project师们强大的开发手段。

(二)Nucleus PLUS的特点:

1、源码开放

Nucleus PLUS 凝视严格的C源级代码。用户能深入了解底层内核运作方式、进行 RTOS 的学习和研究、调试方便。依据需求裁剪内核、节省费用。用户全然能够控制内核而不必操心操作系统中可能的异常任务导致系统崩溃。

2、性价比高

先进的微内核 ( Micro-kernel ) 技术使得Nucleus PLUS在任务优先级安排、任务调度和切换等方面都有优势。另外,对C++语言的全面支持又使得Nucleus PLUS 的 Kernel 成为名副事实上的面向对象的实时操作系统内核。然而。其价格却比較合理。所以,easy被广大的研发单位接受。

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所看到的。

source=wax&u=http%3A%2F%2Fwww.dzjs.net/upimg/allimg/0807/1_17082737.JPG&wsi=2d4e4070911efd06&ei=iI0_Tqxj55OZBaDF_NIH&wsc=tf">

从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部分典型的username单:

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所,中科院沈阳自己主动化所,北京千网数据公司,北京凌云公司,清华大学。长沙国防科技大学,复旦大学,华北电力大学,郑州信息project学院,烟台东方电子集团,深圳桑达,上海博达,深圳迈瑞。深圳天地通讯,铁道部大连内燃机车研究所,总參机要局,南京南瑞总公司,航天第二设计院。西安仪表。郎讯(中国)有限公司,海军计算所。恒基伟业,广州金鹏集团。杭州东方集团。福州新大陆,深圳康佳,西安东强,北京华大集成电路设计中心,广东信利集团,香港IDT,香港讯研,太原中航仪表集团,新科电子,上海中兴。上海广电,石家庄54所,总參56所,武汉邮科院,上海德理,上海贝尔,斯高柏(C-Cube)、航天部503所等等。

Nucleus PLUS简单介绍的更多相关文章

  1. [原创]关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  2. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  3. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  4. yii2的权限管理系统RBAC简单介绍

    这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...

  5. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

  6. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  7. iOS-iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  8. iOS开发多线程篇—多线程简单介绍

    iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...

  9. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

随机推荐

  1. hdu 4021 24 Puzzle ( 逆序数判断是否可解 )

    24 Puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) Total ...

  2. Hibernate关系映射(一) 基于外键的单向一对一

    模拟用户和地址的映射关系,一个用户只有一个地址,用户知道地址,但是地址不知道用户.用户对地址的单向一对一映射. 一.建立实体类 Account.cs类 package com.lxit.entity; ...

  3. 【构建Android缓存模块】(一)吐槽与原理分析

    http://my.oschina.net/ryanhoo/blog/93285 摘要:在我翻译的Google官方系列教程中,Bitmap系列由浅入深地介绍了如何正确的解码Bitmap,异步线程操作以 ...

  4. [LeetCode] Add Two Numbers(stored in List)

    首先,演示一个错误的reverList class Solution { public: ListNode* reverse(ListNode* root) { if(NULL == root) re ...

  5. 解决Win10系统下 C# DateTime 出现星期几的问题 解决ASP.NET MVC 接受Request Playload参数问题

    解决Win10系统下 C# DateTime 出现星期几的问题 昨天晚上写代码的时候偶然发现 DateTime 里出现了星期几,当时一阵凌乱,去网上百度没有详细解决办法,很多人说可以用用 ToStri ...

  6. 在云服务器上部署node.js服务器

    本文档介绍腾讯云·万象优图服务端nodejs的部署和集成,搭建一个nodejs+nginx为基础,对web端或者移动端提供http签名接口服务的例子程序.注意:本文档只是简单的示例,展示了服务端为终端 ...

  7. FZU 2087 统计树边【MST相关】

     Problem 2087 统计树边 Accept: 212    Submit: 651 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Prob ...

  8. EF检索中文失败的解决办法

    1. MYSQL: 保证所有的的列都是UTF8格式. 2. VS2010: 在data server建立连接时,选择advance,将chracterset设成utf8,这样在VS2010里查看和更改 ...

  9. 0045 Spring中使用DataSourceTransactionManager进行事务管理的xml配置

    在一个业务的实现过程中,可能需要多条sql完成对数据库的操作,比如账户登录,需要匹配用户名和密码,然后要增加积分,还要记录登录的ip和时间,这可能需要三个sql语句,这三个语句应当是一个整体,任意一个 ...

  10. Jquery学习笔记(8)--京东导航菜单(2)增加弹框

    京东导航,添加中间的弹框栏,使用position定位,放在左侧栏的li标签里面,成为一个整体,保证鼠标在弹框里的时候,弹框不消失: <!DOCTYPE html> <html lan ...