WikiStart

Version 82 (Anthony Rowe, 02/07/2008 10:52 am)

1 25 Anthony Rowe
2 10 Anthony Rowe
{{{
3 10 Anthony Rowe
#!html
4 10 Anthony Rowe
<table border="0">
5 17 Anthony Rowe
<br>
6 17 Anthony Rowe
<tr><td valign="top" style="height:500px;"> 
7 12 Anthony Rowe
<div class="menu_active">Overview</div>
8 64 Anthony Rowe
<div class="menu"><a href="/nano-RK/wiki/FAQ" class="menu">FAQ</a></div>
9 65 Anthony Rowe
<div class="menu"><a href="/nano-RK/wiki/Quick-Start" class="menu">Quick-Start</a></div>
10 68 Anthony Rowe
<div class="menu"><a href="/nano-RK/wiki/Downloads" class="menu">Downloads</a></div>
11 65 Anthony Rowe
<div class="menu"><a href="/nano-RK/wiki/Documentation" class="menu">Documentation</a></div>
12 65 Anthony Rowe
<div class="menu"><a href="/nano-RK/wiki/People" class="menu">People</a></div>
13 65 Anthony Rowe
<div class="menu"><a href="/nano-RK/wiki/Links" class="menu">Links</a></div>
14 65 Anthony Rowe
<div class="menu"><a href="/nano-RK/wiki/Pubs" class="menu">Publications</a></div>
15 65 Anthony Rowe
<div class="menu"><a href="/nano-RK/wiki/Projects" class="menu">Projects</a></div>
16 10 Anthony Rowe
</td>
17 10 Anthony Rowe
18 62 Anthony Rowe
<td valign="top" style="widtwiki/h:100%;padding-left:50px">
19 10 Anthony Rowe
}}}
20 76 Anthony Rowe
= Nano-RK: A Wireless Sensor Networking Real-Time Operating System  =
21 76 Anthony Rowe
Nano-RK is a fully preemptive reservation-based real-time operating system (RTOS) from [http://www.cmu.edu Carnegie Mellon University] with multi-hop networking support for use in wireless sensor networks. Nano-RK currently runs on the FireFly Sensor Networking Platform as well as the [wiki:MicaZ] motes. It includes a light-weight embedded resource kernel (RK) with rich functionality and timing support using less than 2KB of RAM and 18KB of ROM. Nano-RK supports fixed-priority preemptive multitasking for ensuring that task deadlines are met, along with support for CPU, network, as well as, sensor and actuator reservations. Tasks can specify their resource demands and the operating system provides
22 34 Anthony Rowe
timely, guaranteed and controlled access to CPU cycles and network packets. Together these resources form virtual energy reservations that allows the OS to enforce system and task level energy budgets. 
23 5 Anthony Rowe
24 75 Anthony Rowe
== News ==
25 82 Anthony Rowe
 * '''2/7/2008''' gcc 4.2.2 with avrlibc 1.6.1 fix many bugs. Install new version from [wiki:Downloads] page.
26 82 Anthony Rowe
 * '''12/29/2007''' ''Software architecture for your wireless smart sensor design'' [http://www.embedded.com/design/networking/204800543?pgno=1 embedded.com Article] 
27 82 Anthony Rowe
 * '''10/6/2007''' Public Subversion Read Access for pre-beta [wiki:releases release]
28 32 Anthony Rowe
29 74 Anthony Rowe
== Features ==
30 74 Anthony Rowe
31 32 Anthony Rowe
 * C GNU tool-chain
32 32 Anthony Rowe
 * Classical Preemptive Operating System Multitasking Abstractions
33 32 Anthony Rowe
 * Real-Time Priority Based Scheduling
34 33 Anthony Rowe
 * Built-in Fault Handling
35 35 Anthony Rowe
  * Task Timing Violations
36 35 Anthony Rowe
  * Stack Integrity
37 35 Anthony Rowe
  * Unexpected Node Restarts
38 35 Anthony Rowe
  * Resource Over-Use 
39 34 Anthony Rowe
  * Low Voltage Detection
40 67 Anthony Rowe
  * Watchdog Timer
41 43 Anthony Rowe
 * Energy Efficient Scheduling based on ''a-prior'' task-set knowledge
42 66 Anthony Rowe
 * Small Footprint (<2K RAM, 16K ROM, including link layer)
43 69 Anthony Rowe
 * [wiki:SLIPstream] (a simple gateway to IP network protocol and utility)
44 70 Anthony Rowe
 * [wiki:TimeScope] (a code execution time measurement utility built into the FireFly programmer boards)
45 78 Anthony Rowe
 * [wiki:avr-studio AVR Studio 4 Debugging]  (Simulating Nano-RK code on a single node using AVR Studio 4 is easy)
46 32 Anthony Rowe
47 54 Anthony Rowe
Nano-RK supports various wireless link layer protocols including:
48 36 Anthony Rowe
 * [wiki:RT-Link] for collision free Real-Time communication
49 53 Nuno -
 * [wiki:WiDom] a collision free priority based link layer
50 1
 * [wiki:b-mac] for low-power contention based communication
51 37 Anthony Rowe
52 73 Anthony Rowe
Nano-RK provides an extensible UDP style networking interface
53 46 Anthony Rowe
54 51 Anthony Rowe
[[Image(htdocs:images/nrk_arch.png)]]
55 48 Anthony Rowe
56 49 Anthony Rowe
Sample Nano-RK architecture figure showing user applications and [wiki:RT-Link].