Arch Rock IP/6LoWPAN Software Distribution (ASD)

1.0.0

Introduction

This distribution provides kernel library APIs for developers to create applications using Arch Rock embedded IPv6/6LoWPAN technology. Wherever applicable, the interfaces are designed to be as close to the well-known Unix socket interfaces as possible.

The kernel library goes beyond 6LoWPAN and supports some common set of protocols above IPv6 as well as some common embedded operating systems functionality that are useful for simplifying application development.

The kernel provides a single-thread event or callback driven concurrency model. It does not support dynamic memory allocation. Please refer to Concurrency Model and Memory Handling and Allocation sections for details.

The following shows the overview diagram of the kernel library, which includes the following major API components.

overview_diagram.png

Overview Diagram

The kernel also supports a set of features not directly exposed through the APIs.

For driver development, we try not to provide a hardware abstraction layer for the on-chip I/O peripherals. This gives developers maximum flexibility in configuring the I/Os for their desire purposes. They can either service the corresponding interrupts that they have setup to interface with the sensors or busy wait inside a callback handler from the kernel library.

A driver is usually written in two parts. One is within the interrupt context, where fast actions are required to be serviced. Heavy processing will continue in the application level context by scheduling a callback through the scheduler, as indicated in the diagram above. See Interrupt Context for details.

Interface Design Overview

Function overview

ASD Tutorials


Generated on Fri May 2 15:41:50 2008 for Arch Rock IP/6LoWPAN Evaluation Software Distribution by  doxygen 1.5.5