网络处理器开发平台--Teja NP Intel推出的2400/2800/2350系列的网络处理器,使得网络处理在硬件上有了一个很好的起点。但是由此而带来的是软件的开发难度的增加。就IXP2400而言,有一个XScale核和8个微引擎,先不说针对XScale核上的开发,仅就微引擎上的开发来说,不仅要掌握微码的编程方法,而且还要对网络处理器的硬件有很深的了解,这些东西对任何一个程序员都是一个不小的挑战!更不用说把整个XScale核上的应用和微引擎上的应用整合在一起了。相信在2400 NP上作过开发的人员都深有体会! 排解多核处理器硬件复杂性的最好方法就是抽象,因为抽象可以隐藏细节。Teja NP所提供的预先定义好的有关Hardware Architecture,就是对网路处理器硬件的抽象,经过这一层抽象,开发人员所看到的硬件平台复杂性大大降低。 针对网络处理器在硬件上的优异性能和软件开发上存在很大的难度这一现状,Teja公司推出了一款叫作Teja NP的专门开发软件,采用这款软件可以极大地减少网路处理器上系统开发的难度,快速地开发出应用在2400/2800/2350平台上的应用软件。下面给大家简单介绍一下这款软件的有关特点: 一、软件组成: 1.拥有一个图形化的开发环境ADE,采用定义软件逻辑/数据结构,软件实例化,硬件架构,软件到硬件的映射,最后可以自动生成可以运行在XScale和微引擎上的代码,启动应用的脚本也同时自动生成。 2.提供了Network Processing Operating System (NPOS) runtime system,封装了网络处理器底层负责的硬件,为网络处理器上的应用提供了事件调度、内存分配、进程通信等服务,通过统一的Teja C API调用NPOS的有关服务。从而可以大大减低网络处理器上的软件开发难度。 3.提供了IPv4/IPv6 Forwarding, ATM Transparent Bridging 和TCP Offload Acceleration等基础应用,可以使得用户在一个很高的起点上进行网络应用的开发,从而大大缩短产品的上市时间 二、优势: 1.大大降低产品开发难度: 系统开发所有的过程都采用Teja C来开发,而Teja C是针对网络处理器的特点对ANSI C进行的扩展,使得具有C语言基础的程序员可以很快上手。 通过提供NPOS封装了网络处理器底层的复杂硬件,使得开发人员将注意力集中到程序的逻辑实现上,从而可以大大加快开发进度。 2. 软件重用性非常好: Teja NP的软件开发和硬件体系结构完全独立,项目前期在硬件平台没有到位的情况下,可以在普通PC的Linux或者Windows环境中实现程序的逻辑,硬件到位后,只需要简单地重新定义一下软件到硬件的映射关系,有关的代码Teja会自动生成。 Teja NP开发的软件,可以在很短的时间内从Intel的2400平台快速移植到2800平台上。 3. 软件性能优秀 Teja NP生成的微码和用户手工编写的微码相比,不论是在占用的系统资源,还是在运行性能上都占有很大的优势。因为Teja NP在整个系统的角度来进行优化,然后自动生成有关的代码。 4. 与Intel SDK完全兼容 Teja NP所自动生成的运行在微引擎上的微码,是通过后台调用Intel SDK的有关工具来自动生成的。所生成的代码符合Intel的Portability Framework架构 5. 与实时操作系统无缝结合 对于Intel网络处理器的XScale核来说,Teja NP可以根据运行在该核上的是Montavista linux还是VxWorks,自动地生成可以运行在不同操作系统上的应用。例如如果在XScale核上运行的是Montavista Linux,那么Teja NP就会自动生成符合GNU C/C++规范的代码。 6.丰富的模拟调试工具 Teja NP生成的微码,不仅可以使用Intel Develop WorkBench进行调试,而且可以在PC环境下,通过模拟的方式来验证、调试程序的逻辑
关键词:
网络
处理器
开发平台
--Teja
硬件
软件