Firmware/Applications

From Nutwiki
Jump to: navigation, search

Developing Nut/OS Applications

Application development is done on a PC running Linux, Windows or Mac OS X. See the [[../tools/index.html|Tools]] page for more information.

Check the [[../../api/index.html|Online API Documentation]] for a complete list of provided functions. Use this along with the API documentation of your runtime library, like Newlib for ARM and avr-libc or the ImageCraft runtime library for AVR targets.

If you are interested in the latest beta, then try the Beta API documentation. It is available [[../../api-beta/index.html|online]].

A very good way of learning to write Nut/OS applications is studying the NutWiki Examples.

Several [[../documents/nutapps.html|Nut/OS Samples]] are also included in the distribution.

Additional Documents

New or recently updated

Lua for Nut/OS
Presents a Lua interpreter running on tiny embedded systems.

[[../documents/ntn-6_spi.html|SPI Bus Support]]
Technical details about SPI drivers.

[[../documents/arm-exceptions.html|ARM Exception Handling]]
Nut/OS doesn't provide any exception handling by default. This document shows how to implement an exception handler within your application.

[[../documents/arm-inline-asm.html|ARM GCC Inline Assembler Cookbook]]
The GNU C compiler for ARM RISC processors offers to embed assembly language code into C programs. This cool feature may be used for manually optimizing time critical parts of the software or to use specific processor instruction, which are not available in the C language.

More documents

[[../documents/led.html|LED control]]
A beginner's guide to connecting external hardware.

[[../documents/ntn-4_floats.html|Floating Point Support]]
The kernel won't need it, but your application may want to read or write floating point numbers.

[[../hardware/enut2/rs485.html|Using RS485 with Ethernut 2]]
Jumper settings, configuration and sample code.

[[../documents/at91sam9260.html|Running Nut/OS on the AT91SAM9260]]
A step by step guide. Preliminary.

[[../documents/at91sam7x256.html|Running Nut/OS on the AT91SAM7X]]
Access your MultiMedia Card on the AT91SAM7X Evaluation Kit via FTP.

[[../documents/atmega2561.html|Running Nut/OS on the ATmega2561]]
Preliminary support for the ImageCraft Compiler running on Windows.

[[../documents/watchdog.html|Using the Hardware Watchdog]]
How to implement a timer interrupt handler for Ethernut 3.

[[../documents/at91-timer-irq.html|AT91 Timer Interrupts]]
How to implement a timer interrupt handler for Ethernut 3.

[[../documents/phat.html|Using the PHAT File System]]
Making your MMC interface on Ethernut 3 work.

[[../documents/ntn-3_broadcast.html|Using UDP Broadcasts]]
This paper presents a simple tool to discover all Ethernuts in a local network.

Partly outdated

Nut Programmable Logic
This tutorial teaches you to modify the CPLD on Ethernut 3.

MP3 Streaming
A step by step guide on how to build a stand-alone Embedded Internet Radio.

Setting up PPP
This paper provides helpful information about how to get started with Ethernut's PPP.

SAM Internet Radio
Implementing an Internet Radio on the AT91SAM9260 and AT91SAM7X Evaluation Kits.

Nut/OS Events
This paper explains Nut/OS event handling internals.

CPU and Memory Requirements


[[../../pdf/entet100.pdf|Nut/OS Threads, Events and Timers]]
Recommended reading for application programmers.

[[../../pdf/enmem21e.pdf|Nut/OS Memory Considerations]]
Includes a design proposal for bank switched RAM.