概述:

本文简单介绍PowerPC MPC8247的VxWorks软件使用方法

Bootloader:

MPC8247上使用的Bootloader是u-boot,基本操作如下:

1:启动

PowerPC MPC8247 uboot

从启动画面可以看出:

u-boot的版本是1.1.1

CPU工作在400MHz的频率

Flash的大小是16M

2:设置环境变量

下面是VxWorks for PowerPC的内存分配图

VxWorks RAM

专业术语解释:

  • Interrupt Vector Table. Table of exception/interrupt vectors.
  • SM Anchor. Anchor for the shared memory network and VxMP shared memory objects(if there is shared memory on the board).
  • Boot Line. ASCII string of boot parameters.
  • Exception Message. ASCII string of the fatal exception message.
  • Initial Stack. Initial stack for usrInit(), until usrRoot() is allocated a stack.
  • System Image. The VxWorks system image itself(three sections: text, data, and bss). The entry point for VxWorks is at the start of this region, which is BSP dependent(see BSP-specific documentation).
  • Host Memory Pool. Memory allocated by host tools. The size depends on the macro
  • WDB_POOL_SIZE. Modify WDB_POOL_SIZE under INCLUDE_WDB.
  • Interrupt Stack. Size is defined by ISR_STACK_SIZE under INCLUDE_KERNEL. Location depends on system image size.
  • System Memory Pool. Size depends on the size of the system image. The sysMemTop() routine returns the address of the end of the free memory pool.

PowerPC体系结构的内存结构包括5大部分,分别为系统映像(System Image)之前的系统启动相关的低端内存,系统映像,Host Memory Pool,中断堆栈以及系统内存池(System Memory Pool)。下面就各部分进行介绍。

RTL8139是台湾Realtek半导体公司生产的一种快速以太网控制器,提供符合PCI2.2标准的接口,兼容IEEE802.3u 100BASE-T规范,支持IEEE-802.3x全双工流量控制,支持10Mbit.s-1/100Mbit.s-1全双工、半双工自适应,价格便宜,性能稳定,是PC机、电信终端产品中应用最多的以太网控制器之一。RTL8139在各种操作系统下的驱动都能从Realtek公司网页下载,其中包括VxWorks系统下的驱动,而且提供C源代码。但是在嵌入式系统下,针对不同的硬件平台,往往需要修改该驱动程序以提高其稳定性和效率。基于MPC8241 CPU的硬件平台,本文提出RTL8139在VxWorks系统下驱动程序的改进措施。

1 硬件平台简介

图1所示为某交换机终端设备的部分硬件框图。

VxWorks RTL8139 CPU SDRAM

CPU采用Motorola公司的PowerPC系列处理器之一的MPC8241,该芯片除嵌入32位PowerPC处理器内核外,还集成了MPC107桥,提供PCI接口与RTL8139连接,桥上有内存控制器,挂16MB SDRAM和4 MBFlash。CPU时钟是166MHz,SDRAM时钟是66MHz,PCI时钟是33MHz,RTL8139工作在10Mbit/s,半双工方式,通过集线器(HUB)连入Internet,其作用是转发由话音信号打成的数据包,要求1200pps(每秒数据包),且CPU占用率不高于50%。

摘 要:在对网络通信可靠性要求高的系统中,需要对网卡进行双冗余备份。当正常通信的网卡或线路出现故障时能自动地切换到备份网卡。本文详述了实时操作系统VxWorks下一种双网卡冗余备份技术的实现。

关键词:实时操作系统VxWorks;网络控制器;双冗余备份

1引言

随着网络技术的成熟,以太网已成为各种控制系统接口互连的主要媒介。在某些特殊的应用场合,为了提高系统的可靠性和抗毁性,需采用双冗余网络技术。在双冗余网络中,每个节点都采用两块网卡(或单板双卡),中间用两个HUB或交换机互连。当某个节点一块网卡故障,或网线损坏,或其中一个HUB或交换机故障时,网络仍能正常运作。

双冗余网络虽有两块网卡,两条通道,但对于高层应用系统来说,仍呈现单网卡的特征。具体来讲,每个节点的两块网卡只能有一个物理地址,一个IP地址,否则网络就不能进行正常通信。

现在大多数操作系统(如Windows、Unix、Linux等)均支持多网卡,但均非冗余设计,每块网卡都有独立的物理地址和IP地址,以独立的形式让应用系统使用。根据目前海军对高性能实时系统的要求,我们对VxWorks环境下的双网卡的切换以及冗余备份的设计方法及要点进行介绍。

2VxWorks介绍

VxWorks操作系统是一种具有工业领导地位的高性能嵌入式实时操作系统,是嵌入式开发环境Tornado的关键组成部分,它为程序员提供了良好的可靠性和卓越的实时性,因此被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。

就广泛使用的Unix和Windows操作系统来说,它们都是很好的应用开发和交互式应用的操作系统平台,然而他们并不适合于实时应用。而从另一方面考虑,以前出现的实时操作系统都没有为应用开发和应用的非实时组件(譬如向GUI)提供很好的运行环境。而Wind River的哲学是利用两个相互协作的操作系统来互相补充对方的不足(譬如VxWorks和Windows),让他们各尽所长。VxWorks为应用提供实时性,而主机被用来进行应用开发和运行非实时的应用程序。

3冗余切换

在系统的运行中设备由于硬件或软件原因出现故障是时有发生的事。采用有效的防错容错机制对一个需要稳定运行的系统是必需的。冗余备份技术是对容易出错的硬件设备进行冗余备份。当其中一个设备由于某种原因不能正常工作时,另一个设备马上就可以代替这个设备完成相同的功能。本文只是针对网络因素导致系统故障的情况分析对网络适配器的一种可行的错误保护机制。

摘 要: 针对PC104结构SCM/DETH双端口以太网卡设计实现了一个基于VxWorks系统的智能双冗余网络驱动,在驱动程序中实现了网络通信故障诊断及网卡间智能切换等功能。通过对智能双冗余驱动进行性能测试,验证了设计的正确性和有效性。

关键词: VxWorks操作系统 冗余备份 网络接口卡 网卡驱动

  随着网络技术的成熟,具有价格低廉、连接方便等优点的以太网已成为各种控制系统接口互连的主要媒介。它作为一种通用网络数据通信系统,在全球计算机网络领域已经得到了广泛的应用。随着现代舰船信息化程度的不断提高,以太网技术也开始应用于现代舰船信息系统中,不但要求信息传输速度快,抗干扰能力强,还要求网络具有高稳定性和高可靠性,在网络局部故障或受损时,全系统不至于瘫痪失效。

  冗余设计作为一种提高系统可靠性的有效方法,已经得到了广泛的应用。对于网络系统中的单个节点,常常需要对网卡进行双冗余备份,即每个节点都采用两个网络接口,中间用两个集线器或交换机互连,当正常通信的网卡或线路出现故障时该节点能自动地切换到备份网卡进行通信。

  目前大多数操作系统(如Windows、Unix、Linux等)都支持多网卡,但均非冗余设计,每块网卡都有独立的物理地址和IP地址,以独立的形式供应用系统使用。要实现真正的智能双冗余网络系统,必须自行设计专用的网络驱动程序,以透明的形式提交高层应用系统使用,使系统感觉不到双网卡的存在。本文使用盛博公司PC104结构SCM/DETH型10M双端口以太网卡,设计实现了基于VxWorks的智能双冗余网络驱动。

1 VxWorks系统网络驱动原理

1.1 VxWorks系统简介

  VxWorks操作系统是美国风河公司(Wind River System)推出的一款运行在目标机上的高性能、可裁减的嵌入式强实时操作系统。操作系统包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分,只占用了很小的存储空间,并可高度裁减,保证了系统能以较高的效率运行。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。

  VxWorks主要有以下特点: