The software is an Open Source implementation of a Real Time Operating System called Nut/OS and a TCP/IP protocol suite named Nut/Net. Several application examples are provided, including an embedded Webserver, a simple RS232 to TCP/IP gateway and an Internet Radio playing MP3 streams.
Five Open Source Reference Designs are currently available:
- Ethernut 1
- Ethernut 2
- Ethernut 3
- Elktor Internet Radio
- Ethernut 5
Too many boxes here.
Nut/OS is an intentionally simple RTOS for the ATmega128, which provides
a minimum of services to run Nut/Net, the TCP/IP stack. It's features
+ Non preemptive multithreading.
+ Periodic and one-shot timers.
+ Dynamic heap memory allocation.
+ Interrupt driven streaming I/O.
Main features of the TCP/IP stack are:
+ Base protocols ARP, IP, ICMP, UDP and TCP.
+ User protocols DHCP, DNS and HTTP.
+ Socket API.
+ Host, net and default routing.
+ Interrupt driven Ethernet driver.
The system is highly configurable by the Nut/OS Configurator.
All known bugs are listed at the Sourceforge Bug Tracker
Sources and precompiled binaries are available in the download area.
Ethernet Boot Loader
This application demonstrates how to create a BOOTP/TFTP based boot loader for the ATmega 128.
The Nut/OS Wiki contains many basic application examples.
In order to write your own applications or recompile the Nut/OS source code, you may choose between two compilers. Originally Nut/OS was written for AVR-GCC, a special build of the well known GNU Compiler Collection. Since version 2.5 Nut/OS also supports a commercial compiler, ICCAVR from ImageCraft.
WinAVR is a complete Win32 installation package, which contains the AVR-GCC compiler and many additional tools.
The AVR Libc User's Manual, which describes the C Runtime Library of AVR-GCC can be found at freesoftware.fsf.org.
The commercial ICCAVR compiler can be purchased from ImageCraft or most Ethernut dealers. Nut/OS and Nut/Net fully support licensed versions of this compiler. A beginner's tutorial about Using ImageCraft C with Nut/OS is available. It demonstrates how to build and debug a webserver application.
It has been reported, that Nut/OS had been successfully ported to a second commercial compiler, CodeVisionAVR from HP InfoTech.
This port was done for Nut/OS 2.4.2, but required some global changes because of essential differences of the compiler. This may change with compiler version 1.23.8, which is expected to be available soon.
The AVR Studio Simulator for Windows is very limited and can't run Nut/OS applications. It typically get trapped in one of the interrupt routines.
When using the ATJTAGICE hardware with AVR Studio 4 from www.atmel.com, you can set breakpoints and single step your C and assembler source code. But only sources compiled with ICCAVR offer C variable inspection. More...
Some information about configuring the ICE50 with Ethernut is shown here
GDB, the GNU debugger, has been reported to work under Linux with ATJTAGICE. More details are available at avarice.sourceforge.net