嵌入式 *** 作系统是什么_嵌入式 *** 作系统

嵌入式 *** 作系统是什么_嵌入式 *** 作系统,第1张

1.嵌入式Linux

嵌入式Linux(EmbeddedLinux)是标准Linux经过小型化裁剪处理之后的专用Linux *** 作系统,能够固化于容量只有几KB或者几MB的存储器芯片或者单片机中,适合于特定嵌入式应用场合。目前已经开发成功的嵌入式系统中,大约一半的系统使用嵌入式Linux。

这与它的父辈—Linux自身的优良特性是分不开的。

首先,Linux系统具有鲜明的层次结构且内核完全开放。Linux由很多体积小且性能高的微内核和系统组成。在内核代码完全开放的前提下,不同领域和不同层次的用户可以根据自己的应用需要很容易地对内核进行裁剪,在低成本的前提下,设计和开发出真正满足自己需要的嵌入式系统。

其次,Linux具有强大的网络支持功能。Linux诞生于因特网并具有UNIX的特性,这就保证了它支持所有标准因特网协议,并且可以利用Linux的网络协议栈开发出嵌入式TCP/IP网络协议栈。

再次,Linux具备一套完整的工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系统开发中仿真工具的障碍。一般,嵌入式 *** 作系统的程序调试和跟踪都是使用仿真器来实现的,而使用Linux系统做原型的时候就可以绕过这个障碍,直接使用内核调试器来进行 *** 作系统的内核调试。

最后,Linux具有广泛的硬件支持特性。无论是RISC还是CISC,无论是32位还是64位处理器,Linux都能在其上运行。Linux最通常使用的微处理器是IntelX86芯片家族,但它也能运行于嵌入式处理器上,这意味着嵌入式Linux将具有更广泛的应用前景。

嵌入式Linux同Linux一样,具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点。另外,为了更好地适合嵌入式领域的开发,嵌入式Linux还在Linux基础上做了部分改进,如将其内核结构由整体式结构改为微内核结构,并且还提高了系统的实时性。

嵌入式Linux同Linux一样,也有众多的版本,不同的版本针对不同的需要在内核等方面加入了特定的机制。

目前,朱有鹏老师提供了有关Linux最全面深入系统性的教学课程,可以搜索朱有鹏物联网大讲堂,官网观看免费视频。

2.VxWorks

VxWorks *** 作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时 *** 作系统(RTOS),VxWorks具有以下优点。

·实时性好。其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,使得它们产生的延迟很短。另外VxWorks提供的多任务机制中对任务的控制采用优先级抢占和轮转调度机制,充分保证了可靠的实时性。

·可靠性高,从而保证了用户工作环境的稳定。

·集成开发环境完备、强大,方便了用户的使用。

但是,由于VxWorks源码不公开,它部分功能的更新(如网络功能模块)滞后。VxWorks的开发和使用都需要交高额的专利费,这就大大增加了用户开发的成本。

3.QNX

QNX由加拿大QNX软件系统有限公司开发,广泛应用于自动化、控制、机器人科学、电信、数据通信、航空航天、计算机网络系统、医疗仪器设备、交通运输、安全防卫系统、POS机、零售机等任务关键型应用领域。

QNX独特的微内核和消息传递结构使其运行和开发时非常方便。QNX具有非常好的伸缩性,用户可以把应用程序代码和QNX内核直接编译在一起,使之为简单的嵌入式应用生成单一的映像。

4.WindowsCE(推荐课程:WindowsCE系统定制与驱动开发培训班)

WindowsCE是微软公司开发的一个开放的、可升级的32位嵌入式 *** 作系统,是基于掌上型电脑类的电子设备 *** 作系统。WindowsCE的图形用户界面相当出色,WindowsCE具有模块化、结构化、基于Win32应用程序接口以及与处理器无关等特点。

WindowsCE继承了传统的Windows图形界面,用户在WindowsCE平台上可以使用Windows95/98上的编程工具(如VisualBasic、VisualC等),使用同样的函数,使用同样的界面风格,Windows上的绝大多数应用软件只需简单修改和移植就可以在WindowsCE平台上继续使用。但是WindowsCE开发平台较为昂贵,在一定程度上限制了其发展。

5.PalmOS

PalmOS在PDA领域有着很大的用户群,一度占领PDA *** 作系统90%以上市场份额。PlamOS最明显的特点是精简,它的内核只有几千个字节,同时用户也可以方便地开发、定制,具有较强的可 *** 作性。

6.C/OS

源代码公开,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,系统短小精悍,是研究和学习实时 *** 作系统的首选,但在工程应用领域使用较少。

vxworks

VxWorks 是美国 Wind River System 公司( 以下简称风河 公司 ,即 WRS 公司)推出的一个实时 *** 作系统。Tornado 是WRS 公司推出的一套实时 *** 作系统开发环境,类似Microsoft Visual C,但是提供了更丰富的调试、防真环境和工具。

VxWorks *** 作系统有以下部件组成:

 内核(wind):

 多任务调度(采用基于优先级抢占方式,同时支持同优先级任务间的分时间片调度)

 任务间的同步

 进程间通信机制

 中断处理

 定时器和内存管理机制

 I/O 系统

VxWorks 提供了一个快速灵活的与 ANSI C 兼容的 I/O 系统,包括 UNIX 标准的Basic I/O(creat(), remove(), open(),close(), read(), write(), and ioctl()),Buffer I/O (fopen(), fclose(), fread(), fwrite(), getc(), putc()) 以及POSIX 标准的异步 I/O。VxWorks 包括以下驱动程序:网络驱动、管道驱动、RAM盘驱动、SCSI驱动、键盘驱动、显示驱动、磁盘驱动、并口驱动等

 文件系统

支持四种文件系统: dosFs,rt11Fs,rawFs 和 tapeFs

支持在一个单独的 VxWorks 系统上同时并存几个不同的文件系统。

 板级支持包 BSP(Board Support Package)

板级支持包向VxWorks *** 作系统提供了对各种板子的硬件功能 *** 作的统一的软件接口,它是保证VxWorks *** 作系统可移植性的关键,它包括硬件初始化、中断的产生和处理、硬件时钟和计时器管理、局域和总线内存地址映射、内存分配等等。 每个板级支持包括一个 ROM 启动(Boot ROM)或其它启动机制。

 网络支持:

它提供了对其它VxWorks系统和TCP/IP 网络系统的"透明"访问,包括与BSD套接字兼容的编程接口,远程过程调用(RPC),SNMP(可选项),远程文件访问(包括客户端和服务端的NFS机制以及使用RSH,FTP 或 TFTP的非NFS机制)以及BOOTP 和代理ARP、DHCP、DNS、OSPF、RIP。无论是松耦合的串行线路、标准的以太网连接还是紧耦合的利用共享内存的背板总线,所有的 VxWorks 网络机制都遵循标准的 Internet 协议。

 系列网络产品:

 WindNet SNMP

 WindNet STREAMS

 WindNet 第三方产品,包括 OSI、SS7、ATM、Frame Relay、CORBA、ISDN、X25、

 CMIP/GDMO、分布式网络管理等。

这些产品扩展了VxWorks的网络特性,并增强了嵌入式处理器的网络特性

 虚拟内存( VxVMI)与共享内存(VxMP)

VxVMI 为带有 MMU 的目标板提供了虚拟内存机制。

VxMP 提供了共享信号量,消息队列和在不同处理器之间的共享内存区域。

 目标代理(Target Agent)

目标代理遵循 WBD(Wind Debug)协议,允许目标机与主机上的 Tornado 开发工具相连。在目标代理的缺省设置中,目标代理是以 VxWorks 的一个任务tWdbTask 的形式运行的。

Tornado 目标服务器(Target Server)向目标代理发送调试请求。调试请求通常决定目标代理对系统中其它任务的控制和处理。缺省状态下,目标服务器与目标代理通过网络进行通信,但是用户也可以改变通信方式。

 实用库

VxWorks 提供了一个实用例程的扩展集,包括中断处理、看门狗定时器、消息登录、 内存分配、字符扫描、线缓冲和环缓冲管理、链表管理和 ANSI C 标准。

 基于目标机的工具

在 Tornado 开发系统中,开发工具是驻留在主机上的。但是也可以根据需要将基于目标机的Shell 和装载卸载模块加入 VxWorks。

总之,VxWorks的系统结构是一个相当小的微内核的层次结构。内核仅提供多任务环境、进程间通信和同步功能。这些功能模块足够支持VxWorks在较高层次所提供的丰富的性能的要求。

VxWorks用的公司相对不是太多,并且如果学会Linux,再学VxWorks并不困难,反过来则有一定困难。VxWorks比Linux的优点是实时性好,在开发方面调试工具之类的比Linux好,但是国内你要找到一个很懂VxWorks的人不多,但懂Linux的就很多。入门的话,学好C语言,试着移植一些驱动到VxWorks里即可,VxWorks兼容POSIX规范,我想你开发的难度应该不是特别大。利益相关:用了5年的VxWorks,也开发了5年的VxWorks的代码(从67至今)。用VxWorks久的人都会感觉它太小了,但它开发实在是太方便了,有调试器,有完整开发套件。在有开发环境的地方,几分钟就能建立一个工程,编译一个image,甚至可以放到PC机上跑。不说实时性之类的技术问题,单说入门,就很快的,比重新编译Linux内核之类的容易的多,我自己实验过裁剪Linux内核,真是头大的事情。VxWorks跨平台做的很好,自带的BSP在发布的时候都经过比较严格的测试,比起Linux来说,各种莫名其妙的硬件错误很难遇到。有人讲到VxWorks像Unix,我觉得不像,至少从我看到的代码上看,几乎没有Unix的东西,只不过是兼容部分POSIX API而已。在VxWorks上做二次开发就需要了解它的具体技术细节了,相对而言,我觉得跟别的系统的驱动差不多,无非就是信号量、内存、进程这些东西。如果你喜欢,用标准C的库也可以实现大部分功能。VxWorks的缺点也很多:文档太少,做这个的人不多,授权太贵。网上能找到的盗版都是55的,但官方都出到69了,说实话我真不喜欢55的那一套东西,太过时了,但要真找一套69的又有困难,授权费太贵。而且55不稳定、功能少(版权问题,我不敢放69的截图,但就组件的个数方面就差别太大了)。对于Linux来说,通常是裁剪很费劲,编译一堆问题,但找相关的文档也容易,如果英文好,去混混社区,总能找到答案,前期入门很难,熟悉以后会容易。而用VxWorks,后期的开发遇到困难就很难找到能帮上的人。

VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时作业系统。Tornado 是WRS 公司推出的一套实时作业系统开发环境,类似MicrosoftVisual C,但是提供了更丰富的调试、仿真环境和工具。

基本介绍 中文名 :威克沃 外文名 :VxWorks 公司 :Wind River System(风河公司 ) 产品类型 :实时作业系统 开发时间 :1983年 产地 :美国 开发环境 :Tornado/Wind River Workbench 简介,组成,核心,I/O 系统,档案系统,网路支持,工具,新架构,产品, 简介 VxWorks 作业系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时作业系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的核心以及友好的用户开发环境,在嵌入式实时作业系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地套用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、d道制导、飞机导航等。在美国的 F-16、FA-18战斗机、B-2 隐形轰炸机和爱国者飞d上,甚至连1997年4月在火星表面登入的火星探测器、2008年5月登入的凤凰号,和2012年8月登入的好奇号也都使用到了VxWorks上。 组成 VxWorks作业系统有以下部件组成: 核心 多任务调度(采用基于优先权抢占方式,同时支持同优先权任务间的分时间片调度) 任务间的同步 进程间通信机制 中断处理 定时器和记忆体管理机制 I/O 系统 VxWorks 提供了一个快速灵活的与 ANSI C 兼容的 I/O 系统,包括 UNIX 标准的Basic I/O(creat(),remove(),open(),close(),read(),write(),and ioctl()),Buffer I/O (fopen(),fclose(),fread(),fwrite(),getc(),putc()) 以及POSIX 标准的异步 I/O。VxWorks 包括以下驱动程式:网路驱动、管道驱动、RAM盘驱动、SCSI驱动、键盘驱动、显示驱动、磁碟驱动、并口驱动等 。 档案系统 支持四种档案系统:dosFs,rt11Fs,rawFs 和 tapeFs 支持在一个单独的 VxWorks 系统上同时并存几个不同的档案系统。 板级支持包 BSP(Board Support Package) 板级支持包向VxWorks作业系统提供了对各种板子的硬体功能 *** 作的统一的软体接口,它是保证VxWorks作业系统可移植性的关键,它包括硬体初始化、中断的产生和处理、硬体时钟和计时器管理、局域和汇流排记忆体地址映射、记忆体分配等等。每个板级支持包包括一个 ROM 启动(Boot ROM)或其它启动机制。 网路支持 它提供了对其它VxWorks系统和TCP/IP网路系统的"透明"访问,包括与BSD套接字兼容的编程接口,远程过程调用(RPC),SNMP(可选项),远程档案访问(包括客户端和服务端的NFS机制以及使用RSH,FTP 或 TFTP的非NFS机制)以及BOOTP 和代理ARP、DHCP、DNS、OSPF、RIP。无论是松耦合的串列线路、标准的乙太网连线还是紧耦合的利用共享记忆体的背板汇流排,所有的 VxWorks 网路机制都遵循标准的 Inter 协定。 工具 在 Tornado 开发系统中,开发工具是驻留在主机上的。但是也可以根据需要将基于目标机的Shell 和装载卸载模组加入 VxWorks。 嵌入式Vxworks系统的主要套用领域主要有以下几方面: 1.数据网路:如:乙太网交换机、路由器、远程接入伺服器等 2.远程通讯:如:电信用的专用分组交换机和自动呼叫分配器,蜂窝电话系统等 3.医疗设备:如:放射理疗设备 4.消费电子:如:个人数字助理等 5.交通运输:如:导航系统、高速火车控制系统等 6.工业:如:机器人 7.航空航天:如:卫星跟踪系统 8.多媒体:如:电视会议设备 9.计算机外围设备:如:X终端、I/O 系统等 总之,VxWorks的系统结构是一个相当小的微核心的层次结构。核心仅提供多任务环境、进程间通信和同步功能。这些功能模组足够支持VxWorks在较高层次所提供的丰富的性能的要求。 VxWorks60版本新增功能: 风河通用平台VxWorks版(GPP)是所有设备软体应用程式的首要基础平台。此通用平台基于全球套用最广泛的运行时作业系统--VxWorks而构建。最新版本(VxWorks 61)中的各运行时组件可向后兼容VxWorks的早期版本。此最新版本包含了增强的记忆体保护、容错管理,并支持最新的网路和安全协定以及设备与企业间的连通性。 通用平台组合了最为严格和确定性的实时作业系统,其产品完全集成了现有的产品开发解决方案,从而能够满足贵企业的各种苛刻需求。它无缝集成了业界标准的RTOS(VxWorks 61)、功能强大的开发套件(Workbench 23)、网路和安全协定、用于工程人员快速启动项目的培训以及迅速扩展您开发团队综合技能的各种专业服务。 新增功能: 通用平台VxWorks 31版扩展了的30功能:它扩展了架构支持、多处理器讯息处理(基于业界标准的开源式TIPC协定)、增强了网路堆叠以及支持风河Workbench的最新版本。 新架构 - ARM 9,ARM 11 - Intel Pentium M - Intel XScale - MIPS - PowerPC - Renesas SuperH-4,SuperH-4a 支持通用平台VxWorks 30版中的所有架构和BSP 多处理器讯息通道(基于TIPC协定) 网路堆叠包括PPP、PPPoE以及多链路PPP 风河Workbench 23 产品 WindNet SNMP WindNet STREAMS WindNet 第三方产品,包括 OSI、SS7、ATM、Frame Relay、CORBA、ISDN、X25、 CMIP/GDMO、分散式网路管理等。 这些产品扩展了VxWorks的网路特性,并增强了嵌入式处理器的网路特性 虚拟记忆体( VxVMI)与共享记忆体(VxMP) VxVMI 为带有 MMU 的目标板提供了虚拟记忆体机制。 VxMP 提供了共享信号量,讯息伫列和在不同处理器之间的共享记忆体区域。 目标代理(Target Agent) 目标代理遵循 WBD(Wind Debug)协定,允许目标机与主机上的 Tornado 开发工具相连。在目标代理的预设设定中,目标代理是以 VxWorks 的一个任务tWdbTask 的形式运行的。 Tornado 目标伺服器(Target Server)向目标代理发送调试请求。调试请求通常决定目标代理对系统中其它任务的控制和处理。预设状态下,目标伺服器与目标代理通过网路进行通信,但是用户也可以改变通信方式。 实用库 VxWorks 提供了一个实用例程的扩展集,包括中断处理、看门狗定时器、讯息登录、 记忆体分配、字元扫描、线缓冲和环缓冲管理、炼表管理和 ANSI C 标准。 是一个实时作业系统。

准备工作

我们假设您有一台普通配置的PC机,并安装了Windows2000 *** 作系统。其次您需要安装Tornado 22 for pcPentium开发环境。缺省安装的Tornado 22 for pcPentium可能不包括pcPentium的BSP组件,但该组件可以从风河公司(Windriver)的网站免费下载。

我们将在下文以WIND_BASE引用Tornado的安装路径。

其次是要安装VMWare软件,这里我们使用40的版本。如果您还没有该软件,也可以从VMWare的网站下载试用版。

最后,由于Tornado自带的PC-NET网卡驱动有问题,所以需要下载AMD的PC-NET网卡的VxWorks系统驱动,可以从AMD网站免费下载。

一张144M的软盘,用于制作系统引导盘。

准备并安装好以上软件后,就可以开始下一步的工作了。

开始安装

编译网卡驱动程序

VMWare为运行于其上的 *** 作系统提供虚拟网卡支持,该网卡类型即为AMD的PC-NET。实际上,在Tornado开发包中已经包含了该类型网卡的驱动程序,但经过测试,对于VMWare无法正常工作,所以您需要从AMD的网站下载最新的驱动程序。

下载得到的是一个可执行的安装程序,运行该程序将得到一个压缩包和一个帮助文件,按照该帮助的要求,将压缩包直接释放到Tornado目录下。如果提示是否允许覆盖文件,则选择允许。

此后按如下步骤完成驱动程序的编译和替换:

打开一个控制台窗口,运行批处理程序:$(WIND_BASE)\host\x86-win32\bin\ torVarsbat;

重新定位到$(WIND_BASE)\target\src\drv\end目录,运行:

make CPU=PENTIUM tool=gnu ln97xendo

其间会产生一些警告,但这不会影响我们的工作。

重新定位到$(WIND_BASE)\target\lib\pentium\PENTIUM\common目录,并将上一步生成的文件ln97xendo复制到此目录下。备份此目录下的文件libdrva;

运行命令arpentium -d libdrva ln97xEndo,删除libdrva中原有的ln97xEnd模块,然后再运行命令:

arpentium -ra iOlicomEndo libdrva ln97xEndo

将我们刚刚创建的新模块添加进去。

到此有关网卡驱动的设置就完成了。注意不要关闭这个窗口,后面还要使用。

修改配置文件

在这一节中,我们要修改编译VxWorks的配置头文件Configh中定义的一些参数,使编译出来的系统引导程序和VxWorks的映象符合我们的要求;同时还要修改sysLn97xEndc这个文件,以使系统的网络功能正常运行。

定位目录到$(WIND_BASE)\target\config\pcPentium并打开该目录下Configh文件;

我们首先要修改VxWorks的启动参数。先查找到定义DEFAULT_BOOT_LINE宏的地方,修改预处理条件CPU == PENTIUM分支下的定义如下:

#define DEFAULT_BOOT_LINE \

"lnPci(0,0)your_host_name:d:\\vxWorks h=19216880169 e=19216880254 u=target pw=vxworks tn=target"

其中:

lnPci(0,0)指定了使用第0个网卡和第0个处理器,lnPci这个标识会因为使用的驱动程序不同而有所不同,但这里用lnPci就可以了;

your_host_name指定您的主机的名字,使用Windows系统的主机名就可以;

d:\\vxWorks指定了VxWorks映象下载的完整路径;

h=19216880169是主机的IP地址,就是您当前正在使用的系统的IP地址;

e=19216880254是目标机的IP地址,也就是未来VxWorks *** 作系统的IP地址,您只要任意指定一个不冲突的IP地址即可,这里我们假设您的目标机IP地址和主机IP地址在同一个网段内;

u=target指定了FTP服务器的用户名,这个FTP就是用来下载VxWorks映象的,后面还会提到;

pw=vxwroks是用户名对应的口令;

tn=target指定目标机的名字,任意指定即可;

您可以参考Tornado自带的手册以获取更多信息;

下面我们要指定使用什么样的网卡驱动程序。首先查找“Network driver options”这段文字,之后您可以看到在该注释后面定义了一系列的有关网卡驱动的宏定义。注意保证INCLUDE_END和INCLUDE_LN_97X_END这两个宏处于定义状态(define),其他的宏都处于未定义状态(undef);

缺省情况下,VxWorks系统是不接受外部输入设备(如键盘)的输入,也不向外部输出设备(如显示器)输出数据。为了便于调试,我们必须改变它的这种缺省状态。我们查找定位宏INCLUDE_PC_CONSOLE,然后保证其处于定义状态(define)即可;

到此为止,对configh文件的修改就完成了,保存修改,然后再打开同一目录下的sysLn97xEndc文件;

这一步修改的目的是要使网卡正常工作。我们先定位到“memory-mapped IO base”这段文字,然后将其前面的参数由pciRsrc[endUnit]bar[1]修改为NONE,这样就可以了。最后别忘了保存。

到此为止,全部的修改工作都完成了,下一步就可以开始编译连接了。

编译程序

这一节我们要编译生成bootrom引导程序和VxWorks运行映象。

打开您的Tornado开发工具,在Build菜单下选择Build Boot ROM,d出如下对话框:

在BSP列表中选择pcPentium,而在Image to build列表中分别选择bootrom和gnu。完成选择后,点击OK按钮就开始引导程序的编译了。编译产生的文件bootrom将保存在$(WIND_BASE)\target\config\pcPentium目录下。

编译生成bootrom后,还要创建一个VxWorks映象(image),也就是VxWorks *** 作系统本身的代码。

创建一个“bootable VxWorks image”的工程;

选择您需要的VxWorks组件。这一步是可选的,如果您只想使用缺省的配置,那根本就不需要这一步;但如果您想使用额外的组件,例如,您可能想通过telnet连接VxWorks系统,这时就需要在Workspace窗口的VxWorks选项卡中选择telnet sever对应的组件,如下图:

在这个例子中我们选择了两个重要的组件:Telnet server 和 Target shell 。前者使我们可以通过Telnet协议登录到VxWorks *** 作系统中;后者则可以让我们通过命令行控制VxWorks系统。

完成选择后,即可开始编译程序;

到此我们已经生成了VxWorks的系统引导程序和运行时的代码映象。这里还要提醒读者,在您每次修改完系统的配置信息(如:configh)后,都要重新创建一个工程来编译VxWorks映象,以免出现代码不一致的问题。

将生成的名为“vxworks”的文件复制到D盘根目录下。这个路径是由上面我们所设置的DEFAULT_BOOT_LINE宏中的路径参数决定的,必须保持二者一致。

制作引导磁盘

现在开始制作VxWorks系统引导磁盘,用于引导装载VxWorks运行映象。

我们回到“编译网卡驱动程序”一节中所打开的控制台窗口,定位目录到$(WIND_BASE)\target\config\pcPentium,插入您已经格式化好的软盘,然后运行:

mkboot a: bootrom

该命令将在软盘上建立VxWorks系统引导分区,并将引导程序复制到软盘上。

这里再额外向您介绍一个虚拟软盘的工具:RamDiskNT,它可以在内存中建立一个虚拟的软盘,对于提高VxWorks的启动速度有很大帮助。

配置FTP服务器

这里的FTP服务器用于在系统成功引导后,下载VxWorks的运行时映象。我们这里使用Tornado开发环境自带的FTP服务器。

打开Tornado FTP Server,选择“Security”菜单下的“Users/Rights”子菜单,d出如下对话框:

当User Name为“target”时,修改“Home Directory”为D盘根目录(此路径由上面的DEFAULT_BOOT_LINE参数决定),同时修改口令为“vxworks”,最后点击“Done”按钮完成修改;

为了便于调试,我们还要打开FTP Server的日志功能。选择“Logging”菜单下的“Logging Options”子菜单,d出如下对话框,其中除了“Winsock Calls”外,让其他选项全都处于开启状态。

保持FTP Server窗口处于打开状态(这样FTP服务器就处于运行状态)。

创建VxWorks系统

打开您的VMWare Workstation,在File->New菜单下选择创建一个新的虚拟机(Virtual Machine),按照其向导帮助,完成虚拟机的配置。在选择 *** 作系统类型时,选择“Other”,其余选项均使用缺省值就可以了。

完成以上配置后,点击右侧窗口中的“Start this virtual machine”,系统即开始引导运行,如下图所示:

在引导过程中,您会遇到一个7秒钟的等待,以决定是使用缺省的引导参数,还是手动输入引导参数。这里我们选择前者,所以不需要做任何工作。

成功引导后,系统会自动从FTP Server下载映象,并开始运行,得到如下画面:

到此,我们已经成功的在VMWare上安装了VxWorks *** 作系统。

需要注意的是,上面的画面会因为选择组件的不同而略微有所不同(例如,如果您没有选择target shell,就不会出现命令行提示符),但一般不会影响后续 *** 作。

配置联机调试环境

装好系统后,您肯定还希望将自己编写的应用程序下载到目标机进行调试,下面我们就完成这一部分的配置工作。

打开您的Tornado开发环境,选择“Tools->Target Server->Configure”菜单,d出如下对话框:

在“Description”中任意填写一个名字,这里是“net00”;在“Available Back”中选择“wdbrpc”,并在下面的IP地址框中填写目标机的IP地址,这里是“19216880254”(由DEFAULT_BOOT_LINE参数决定);将“Target Server Properties”下拉框更改至“Core File and Symbols”,并在“File Path”一项中选择您的映象的完整路径,这里是“D:\vxWorks”(由DEFAULT_BOOT_LINE参数决定)。

完成以上两项配置,点击“Launch”按钮,就可以启动Target Server了。

再回到Tornado开发环境,在工具条上的Target Server下拉框列表中选择“19216880254@your_host_name”。这时您会发现工具条中一些原先处于“禁用”状态的工具按钮,现在都已经处于“激活”状态了。

现在您就可以开始联机调试您的VxWorks应用程序了。

问题一:硬实时 *** 作系统和软实时 *** 作系统有什么不同? 国际上常见的嵌入式 *** 作系统大约有40种左,右如:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 。他们基本可以分为两类,一类是面向控制、通信等领域的实时 *** 作系统,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx、ati的nucleus等;另一类是面向消费电子产品的非实时 *** 作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone等,系统有Microsoft的WinCE,3的Palm,以及Symbian和Google的Android等。

(一)VxWorks

VxWorks *** 作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时 *** 作系统(RTOS),是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时 *** 作系统领域逐渐占据一席之地。

VxWorks具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX 1003.1b实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。

然而其价格昂贵。由于 *** 作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费功0万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用 *** 作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。(二)Windows CE

Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE30是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式 *** 作系统。为建立针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的 *** 作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的 *** 作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。 *** 作系统的基本内核需要至少200KB的ROM。由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式 *** 作系统就运行在有限的内存(一般在ROM或快闪存储器)中,因此就对 *** 作系统的规模、效率等提出了较高的要求。从技术角度上讲,Windows CE作为嵌入式 *** 作系统有很多的缺陷:没有开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。(三)嵌入式Linux

这是嵌入式 *** 作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近一年多以来成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入式 *** 作系统份额的50%。

由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL,无须为每例应用交纳许可证费。有大量的应用软件可用。其中大部分都遵从GPL,是开放源代码和免费的。可以稍加修改后应用于用户自己的系统。有大量的免费的优秀的>>

问题二:实时 *** 作系统有哪些 实时 *** 作系统是保证在一定时间限制内完成特定功能的 *** 作系统。实时 *** 作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成 *** 作,这是在 *** 作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成 *** 作即可。我们通常使用的 *** 作系统在经过一定改变之后就可以变成实时 *** 作系统。

例如,可以为确保生产线上的机器人能获取某个物体而设计一个 *** 作系统。在“硬”实时 *** 作系统中,如果不能在允许时间内完成使物体可达的计算, *** 作系统将因错误结束。在“软”实时 *** 作系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。一些实时 *** 作系统是为特定的应用设计的,另一些是通用的。一些通用目的的 *** 作系统称自己为实时 *** 作系统。但某种程度上,大部分通用目的的 *** 作系统,如微软的Windows NT或IBM的OS/390有实时系统的特征。这就是说,即使一个 *** 作系统不是严格的实时系统,它们也能解决一部分实时应用问题。

大体上,实时 *** 作系统(RTOS)要求:

多任务

处理能被区分优先次序的进程线

一个中断水平的充份数量

被装入作为微型设备一部分的内含小 *** 作系统经常要求实时 *** 作系统。一些核心问题能被考虑以符合实时 *** 作系统的需求。然而,因为像设备驱动程序这样的其他成份,也通常被特别的方法需要,一个实时 *** 作系统通常比核心更大。

问题三:实时 *** 作系统有哪些 实时 *** 作系统是保证在一定时间限制内完成特定功能的 *** 作系统。实时 *** 作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成 *** 作,这是在 *** 作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成 *** 作即可。我们通常使用的

问题四: *** 作系统都有哪些 实时 *** 作系统 上 1 目前当下 *** 作系统有PC端:Windows;Linux; Mac os; Unix;WAP端有:Android;ios

问题五:实时 *** 作系统的实时任务 在实时系统中必然存在着若干个实时任务,这些任务通常与某些个外部设备相关,能反应或控制相应的外部设备,因而带有某种程度的紧迫性。可从不同的角度对实时任务加以分类。1、 按任务执行时是否呈现周期性变化来划分:a、周期性实时任务外部设备周期性地发出激励信号给计算机,要求它按照指定周期循环执行,以便周期性的控制某种外部设备。b、非周期性实时任务外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间。 它又可分为开始截止时间(任务在某时间以前必须开始执行)和完成截止时间(任务在某时间以前必须完成)两部分。2、根据对截至时间的要求来划分:a、硬实时任务b、软实时任务

问题六:windows实时 *** 作系统有哪些 Windows7、Windows8、Windows10,至少有这三款。

问题七:实时 *** 作系统的比较 实时系统与分时系统特征的比较(1)多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端用户服务;而对实时控制系统,其多路性则主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。(2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向分时系统提出服务请求时,是彼此独立的 *** 作,互不干扰;而在实时控制系统中信息的采集和对对象的控制,也彼此互不干扰。(3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒。(4)交互性。实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理服务、资源共享等服务。(5)可靠性。分时系统要求系统可靠,相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。因此,在实时系统中,采取了多级容错措施来保证系统的安全及数据的安全。

问题八:嵌入式实时 *** 作系统和软实时 *** 作系统的区别 嵌入式实时系统中采用的 *** 作系统我们称为嵌入式实时 *** 作系统,它既是嵌入式 *** 作系统,又是实时 *** 作系统。作为一种嵌入式 *** 作系统,它具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点;而作为一种实时 *** 作系统(本文对实时 *** 作系统特性的讨论仅限于强实时 *** 作系统,下面提到的实时 *** 作系统也均指强实时 *** 作系统),它与通用 *** 作系统(如Windows、Unix、Linux等)相比有很大的差别,下面我们将通过比较这两种 *** 作系统之间的差别来逐步描述实时 *** 作系统的主要特点。

我们在日常工作学习环境中接触最多的是通用 *** 作系统,通用 *** 作系统是由分时 *** 作系统发展而来,大部分都支持多用户和多进程,负责管理众多的进程并为它们分配系统资源。分时 *** 作系统的基本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。由此可以看出,分时 *** 作系统注重平均表现性能,不注重个体表现性能。如对于整个系统来说,注重所有任务的平均响应时间而不关心单个任务的响应时间,对于某个单个任务来说,注重每次执行的平均响应时间而不关心某次特定执行的响应时间。通用 *** 作系统中采用的很多策略和技巧都体现出了这种设计原则,如虚存管理机制中由于采用了LRU等页替换算法,使得大部分的访存需求能够快速地通过物理内存完成,只有很小一部分的访存需求需要通过调页完成,但从总体上来看,平均访存时间与不采用虚存技术相比没有很大的提高,同时又获得了虚空间可以远大于物理内存容量等好处,因此虚存技术在通用 *** 作系统中得到了十分广泛的应用。类似的例子还有很多,如Unix文件系统中文件存放位置的间接索引查询机制等,甚至硬件设计中的Cache技术以及CPU的动态分支预测技术等也都体现出了这种设计原则。由此可见,这种注重平均表现,即统计型表现特性的设计原则的影响是十分深远的。

实时 *** 作系统,即RTOS(Real-TIme operating system),是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的 *** 作系统。对于实时 *** 作系统,前面我们已经提到,它除了要满足应用的功能需求以外,更重要的是还要满足应用提出的实时性要求,而组成一个应用的众多实时任务对于实时性的要求是各不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资源的互斥访问要求等,这就为系统实时性的保证带来了很大的困难。因此,实时 *** 作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性(predictability)。可预测性是指在系统运行的任何时刻,在任何情况下,实时 *** 作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用 *** 作系统不同,实时 *** 作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时 *** 作系统注重的是个体表现,更准确地讲是个体最坏情况表现。举例来说,如果实时 *** 作系统采用标准的虚存技术,则一个实时任务执行的最坏情况是每次访存都需要调页,如此累计起来的该任务在最坏情况下的运行时间是不可预测的,因此该任务的实时性无法得到保证。从而可以看出在通用 *** 作系统中广泛采用的虚存技术在实时 *** 作系统中不宜直接采用。

由于实时 *** 作系统与通用 *** 作系统的基本设计原则差别很大,因此在很多资源调度策略的选择上>>

问题九:实时 *** 作系统的特征 1)高精度计时系统计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地 *** 作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时 *** 作系统实现的高精度计时功能。2)多级中断机制一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。3)实时调度机制实时 *** 作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。实时 *** 作系统的特点IEEE 的实时UNIX分委会认为实时 *** 作系统应具备以下的几点:1、异步的事件响应2、切换时间和中断延迟时间确定3、优先级中断和调度4、抢占式调度

以上就是关于嵌入式 *** 作系统是什么_嵌入式 *** 作系统全部的内容,包括:嵌入式 *** 作系统是什么_嵌入式 *** 作系统、什么是vxworks、怎么学习VxWorks系统等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9733812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存