Ethernut
Encyclopedia
Ethernut is an open source hardware and software project for use as an embedded
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...

-Ethernet
Ethernet
Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....

-system.

Hardware

Currently three different reference designs exist (Ethernut 1, Ethernut 2 and Ethernut 3) which are available as ready to use boards. The next reference design (Ethernut 5) is currently under development.

All reference designs share the same set of interfaces:
  • Ethernet Connector
  • RS-232 ports
  • Power connector
  • Nearly all I/O pins of the microcontroller are available on an expansion port


The designs mainly differ in the used microcontroller
Microcontroller
A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM...

 (Ethernut 1 & 2: 8-bit AVR
Atmel AVR
The AVR is a modified Harvard architecture 8-bit RISC single chip microcontroller which was developed by Atmel in 1996. The AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other...

, Ethernut 3 & 5: 32-bit ARM
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

) and the available memory size.
Since the Ethernut 3 board a MMC slot is available.

Nut/OS

The open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 for these boards is called Nut/OS. It is a modular real-time operating system
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...

, licensed under BSD license
BSD licenses
BSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named....

.

Characteristics:
  • Cooperative multithreading
    Thread (computer science)
    In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...

  • Assured interrupt
    Interrupt
    In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....

    -latency
  • Prioritized event handling
  • Different configurable timers
  • Dynamic memory management
  • Process synchronization technologies
  • Good portability to other architectures

Nut/Net

The Ethernut project implements its own network stack, called Nut/Net. It implements a substantial protocol and socket API for use in Nut/OS programs.

The supported protocols are:
  • Ethernet
    Ethernet
    Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....

  • ARP
    Address Resolution Protocol
    Address Resolution Protocol is a telecommunications protocol used for resolution of network layer addresses into link layer addresses, a critical function in multiple-access networks. ARP was defined by RFC 826 in 1982. It is Internet Standard STD 37...

  • IP
    Internet Protocol
    The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...

  • ICMP
    Internet Control Message Protocol
    The Internet Control Message Protocol is one of the core protocols of the Internet Protocol Suite. It is chiefly used by the operating systems of networked computers to send error messages indicating, for example, that a requested service is not available or that a host or router could not be...

  • UDP
    User Datagram Protocol
    The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...

  • TCP
    Transmission Control Protocol
    The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...

  • PPP
    Point-to-Point Protocol
    In networking, the Point-to-Point Protocol is a data link protocol commonly used in establishing a direct connection between two networking nodes...

  • DHCP
  • DNS
    Domain name system
    The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...

  • SNTP
  • SNMP
  • FTP
    File Transfer Protocol
    File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...

  • TFTP
    Trivial File Transfer Protocol
    Trivial File Transfer Protocol is a file transfer protocol known for its simplicity. It is generally used forautomated transfer of configuration or boot files between machines in a local environment....

  • SYSLOG
    Syslog
    Syslog is a standard for computer data logging. It allows separation of the software that generates messages from the system that stores them and the software that reports and analyzes them...

  • HTTP
  • WINS (Subset)

Configuration and usage

Configuring Nut/OS and Nut/Net is quite simple. After download of the source packages the Nut/OS configurator has to be executed which will build the needed libraries for the selected hardware configuration.

Application programmers will now use these Nut/OS and Nut/Net libraries to write its own software. Beside of the Nut/OS libraries the application programmer can use the standard C libraries. As programming languages C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 is used, but C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 is mostly supported as well. Additionally a Lua interpreter exists so that Lua scripts
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

 can be executed interactively at runtime on the board.

A multitude of simple sample applications exists as easy introduction into Nut/OS.

Supported architectures 

  • Atmel
    Atmel
    Atmel Corporation is a manufacturer of semiconductors, founded in 1984. Its focus is on system-level solutions built around flash microcontrollers...

     AVR
    Atmel AVR
    The AVR is a modified Harvard architecture 8-bit RISC single chip microcontroller which was developed by Atmel in 1996. The AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other...

     (z.B.: ATmega103, ATmega128, ATmega2561, AT90CAN128, u.a.)
  • Atmel
    Atmel
    Atmel Corporation is a manufacturer of semiconductors, founded in 1984. Its focus is on system-level solutions built around flash microcontrollers...

     AVR32
    AVR32
    The AVR32 is a 32-bit RISC microprocessor architecture designed by Atmel. The microprocessor architecture was designed by a handful of people educated at the Norwegian University of Science and Technology, including lead designer Øyvind Strøm, PhD and CPU architect Erik Renno, M.Sc in Atmel's...

     (z.B.: AT32UC3A, AT32UC3B, u.a.)
  • ARM7 (z.B.: AT91R40008, AT91SAM7X, LPC-E2294, Gameboy Advance, u.a.)
  • ARM9 (z.B.: AT91SAM9260, AT91SAM9XE, u.a.)
  • ARM Cortex M3
    ARM architecture
    ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...



The following architectures are supported but not actively maintained:
  • H8/300
  • Motorola 68000

Bluetooth stack

The research group for distributed systems of the ETH Zurich
ETH Zurich
The Swiss Federal Institute of Technology Zurich or ETH Zürich is an engineering, science, technology, mathematics and management university in the City of Zurich, Switzerland....

 has developed a distributed Sensor network with nodes based on AVR. These sensor nodes
Sensor node
A sensor node, also known as a mote , is a node in a wireless sensor network that is capable of performing some processing, gathering sensory information and communicating with other connected nodes in the network...

 communicate via Bluetooth
Bluetooth
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...

. As system software the open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 BTNut Bluetooth
Bluetooth
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...

 stack is used. The BTNut stack is based on the Nut/OS system and extends the Nut/OS functionality with Bluetooth access functions. Although the BTNut stack was developed mainly for the BTNode sensor node
Sensor node
A sensor node, also known as a mote , is a node in a wireless sensor network that is capable of performing some processing, gathering sensory information and communicating with other connected nodes in the network...

s it can be easily ported to other applications.

Usage and availability

According to the german manufacturer (egnite GmbH) more than 15.000 Ethernut boards were sold (state: September 2009). There are several manufacturers of compatible hardware:Achatz electronics (Netherlands), proconX (Australia), Propox (Poland), SOC Robotics (Canada), HW group s.r.o. (Czech Republic), thermotemp Embedded-IT (Germany). Beside these, the Nut/OS operating system is used as base for the BTNode Sensor network ETH Zurich
ETH Zurich
The Swiss Federal Institute of Technology Zurich or ETH Zürich is an engineering, science, technology, mathematics and management university in the City of Zurich, Switzerland....

.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK