运行在网络处理器上的嵌入式Linux系统
器来说,网络处理器初看起来就像一个巨大、复杂且未被支持的外设。在最简单的情况下,内核启动代码或者驱动程序初始化代码中会对共享内存和寄存器的组合进行映射,这些寄存器代表了网络处理器在内核或用户内存的接口。这样驱动程序和应用程序就可以同网络处理器进行交互操作。这种映射关系能够通过调用用户层的API、或者直接调用驱动有关的API来终止它,或者也可以终止包含一个分离协议栈的底部,或者中止建立套接字或者基于流的抽象。。
主要设备制造商指望Linux平台提供商和构建不断增长的生态链的独立软件提供商,能够付出努力来建立网络处理器为基础的网络应用。这些由独立软件提供商提供的应用模块有以下几类:
·包处理算法,桥接口和特定的网络处理器针对运行在数据层面的网络引擎开发工具(包引擎代码汇编器,仿真器和性能分析器);
·控制和管理层应用单元-简单网络管理协议(SNMP)代理和管理信息(MIBs),Web控制接口等,协议栈,路由守护进程,控制和数据层接口库;
·用于类似于家庭网关和安全应用这样特定应用的大协议栈;
·用于Linux的其他系统和应用开发工具。
使用网络处理器接口和为嵌入式Linux提供IP的公司包括:AshleyLaurent,Hughes,IPInfusion,LVL7Systems,NextHopTechnologies和Motorola的NetplaneSystems,他们提供栈和库。像Intel和IBM这样的芯片提供商,还有Teja技术公司这样的独立软件提供商,他们所提供开发工具填补了用于特殊网络处理器芯片、特定体系结构的开发工具的空白。
这些大栈支持和实现了多达90%的网络处理器应用,它们可能是平台供应商的附加产品,也可能是小型软件供应商集成产品。这些栈引起了第二级和第三级设备制造商(OEM)和设计制造商(ODM)的兴趣,ODM和OEM的唯一差异是他们的商标或者是价格的不同;这就使网络设备制造商在可以预计未来的情况下,继续进行投资并使得它们自己网络处理器上的应用不断升级。
因为许多网络处理器也将JTAG接口集成到控制处理器和包引擎当中,在某些情况下,开发者可以使用像AbatronAG,EmbeddedPerformace、WindRiver以及其它公司提供的通用硬件调试器来调试控制层面的有关操作,也可以把程序下载到网络处理器的包引擎,并和它直接进行交互。
网络处理器和嵌入式Linux联姻后,硕果最多的要数Intel的IXP425家族与基于Linux的接入和网络存储应用栈。比较好的例子是D-Link媒体存储中心家用设备。D-Link和其他主要设备制造商(OEM)充分发挥了Xscale控制/应用处理器和高性能网络处理器集成的功能。在D-Link的产品中,台湾的OEM制造商以这种硬件为基础进行了开发,使用集成的包处理器能很容易地提供快速和安全的以太和无线连接。D-Link将这种硬件平台,与Linux自带的路由,多种协议、多种存储格式能力结合起来,给消费者提供了即插即用的网络存储解决方案。其他最近发布的基于Linux的网络处理器应用还包括ThingMagic的RFID系统。
结束语:
将来由于互连网络的发展将会有很多针对家庭,SOHO,企业和基础设施的应用和网络处理器+LINUXOS密切相关,它们包括接入点,有线/无线存储解决方案,虚拟网络,安全应用,数字用户线路接入多路复用器和xDSL线卡,网络打印机,驻留网关,IP/PBXs,SOHO路由器,还有其他一些支持从OC-3到OC-192高速网络的核心/边缘应用。
本文参考了BillWeinberg的文章,他现是OSDL的开源架构专家,在OSDL之前是MontaVista市场策略总监,曾经在MicrotecReseach,Lynuxworks等嵌入式软件公司任职,有近20年的嵌入式软件的经验。
网络处理器,嵌入式Linux,多核处理器 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)