Designing Embedded Networking Applications: Essential Insights for Developers of Intel IXP4XX Network Processor Systems

Operating System Abstraction Layer (OSAL)

An Operating System Abstraction Layer (OSAL) is provided as part of the Intel IXP400 software version 1.5 and higher. The OSAL provides a set of abstracted operating-system services. We have provided implementations of these services for VxWorks, Linux kernel mode, and Windows CE. All access-layer components abstract their OS dependencies to this layer. Though primarily intended for use by the Intel IXP400 software access-layer components, these services are also available for use by your application-layer software. The OSAL layer includes the following modules:

  • Core operating system services module

  • Buffer pool management module

  • Virtual memory mapping of peripherals and endian adaptation.

For details of the OSAL API, please see the Intel IXP4XX software programmer's guide (Intel 2004c).

Core Operating System Services Module

The OSAL's core operating system services module defines the following functionality:

  • Memory allocation

  • Thread management

  • Interrupt handling

  • Thread synchronization

  • Delay functions

  • Time-related functions and macros

  • Interthread communication

  • Logging services

Each function is described in more detail below.

Memory Allocation

The memory allocation API provides mechanisms to allocate and free memory. In particular, it provides the ability to allocate memory for use by device drivers. This memory is aligned on 32-byte boundaries. Macros are provided to manage the coherence of the memory when both the NPEs and the Intel XScale core are accessing the memory.

Thread Management

The module allows you to create, destroy, and control execution of threads in the operating system. The threads are mapped to different constructs in each operating system. For...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Embedded Programming Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.