
SDK Components
NetLogic Microsystems’ Software Development Kits (SDK) contain everything needed to create and deploy control- and data-plane applications on Multi-Core, Multi-Threaded and single core processors as well as consumer media applications for the Alchemy® Product Family. The SDK is a comprehensive suite of development tools that includes a toolchain, bootloader, board support packages (BSPs), and complete source code and documentation of drivers, libraries, and reference application code. Using the SDK unleashes the massive performance and throughput benefits of NetLogic Microsystems’ Processors, enhances product differentiation, and reduces time-to-market for a variety of applications.
Tools
Compilation and Build
The SDK provides both native- (MIPS) and cross- (x86) tool chains based on industry-standard GNU toolchains.
The toolchain supports both 32-bit and 64-bit ABIs, and
has been optimized to take advantage of Multi-Core, Multi-Threaded architectures.
Debugging
The SDK has a full set of debugging tools, including the GDB and EJTAG debuggers, enhanced to support simultaneous debugging of multiple threads and cores. The SDK provides
both command-line-based debugging tools and GUI
(Eclipse)-based IDE tools. A dump analysis tool is included for
postmortem analysis.
Profiling and Performance Tuning
To quickly identify application performance bottlenecks and perform system tuning, the SDK
provides both non-intrusive and intrusive profiling and analysis
tools. The profiler runs on its own vCPU and is able to measure
and monitor the behavior on other vCPUs, along with global transactions
and resource and I/O usage. The SDK provides APIs to
support hardware-based cycle-accurate performance counters,
trace buffers, and sampling statistics. The SDK also includes
industry-standard PAPI, Cprof, and Oprofile profiling tools.
Source Code
Bootloader
The bootloader includes board bring-up routines and
is modularly designed for ease of customization. The bootloader
supports multiple boot options, staggered and hybrid booting of
multi-operation systems, and a framework to dynamically load,
stop, and reload vCPUs.
Linux Kernel
A full-fledged port of the Linux Kernel 2.6.21 to the XLR/XLS Processors is provided with numerous customizations
and optimizations, ideal for developing control-plane and Linux-based
applications. Both 32-bit and 64-bit versions are supported.
NetLogic MicrosystemsOS. The SDK includes a C/C++ development library
called NetLogic MicrosystemsOS for data-plane applications. The NetLogic MicrosystemsOS execution
environment maximizes application performance by fully utilizing
the XLR/XLS Processor capabilities.
Board Support Packages
The SDK includes evaluation board
support packages for VxWorks and x86 host Linux drivers.
Diagnostics
A robust diagnostics suite with an integrated CLI
performs complete diagnostics on the XLR/XLS Processors
including: processor core, cache, memory, peripheral, and I/O.
The diagnostics code can be easily customized to support customer-
specific boards.
Reference Applications
Numerous reference applications are
provided for both development and Linux-based use.
These include layer 3 forwarding, DPI, packet ordering, TCP/IP
processing, IPSec, firewall, OpenSSL, Snort, ClamAV, SIP, and
others.
Also Included:
File System Distributions. The SDK includes both an initial
RAM-based file system and a full-featured file system for embedded
Linux use, either by a local storage or a remote network file
system. This file system distribution is customizeable and can be
enhanced with additional applications and tools.
Documentation
To ensure rapid and successful product development,
the SDK includes a Quick Start Guide, User Manuals, developer-
specific API references, and Application Handbook.
NETL7™ Knowledge-based Processors Software
Development Kit (SDK)
All NETL7™ knowledge-based processors are supported by a full-featured software development kit. The SDK comes as a source code with a common API that supports devices spanning the entire performance spectrum of the NETL7 product family. This allows a single software application to scale up or down to hit required performance points with the selection of appropriate hardware. The SDK has been proven on multiple operating systems and CPUs.
The SDK presents two APIs for customer use:
The Database API provides a mechanism for customers to manage and compile a database of rules in standard PCRE syntax efficiently and rapidly. The Database API may run either on the target system or on a remote system; the small size of the compiled image allows compiled databases to be easily transferred to the target system.
Designed for efficiency and flexibility, the Dataplane API provides the interface for controlling all aspects of the run-time operation of the NETL7 KBP. In addition to handling requests for pattern matching from the customer application and dispatching them to to hardware, the Dataplane API is also used to load and unload databases during run-time, without taking equipment offline or stopping traffic during an update.

|