Documents/Directory Trees

From Nutwiki
Jump to: navigation, search

Nut/OS Directory Trees

This document describes how to install the Nut/OS development environment on Windows.

nut
Source tree. With the Configurator you will later create sibling directories called build trees (e.g. nutbld-mega256) and application trees (e.g. nutapp-ctrl). This way different Nut/OS configurations for different platforms can be derived from the same source tree and can be used concurrently.

nut/app
Sample applications, from simple system event or timer tests to FTP and HTTP servers.

nut/appicc
ImageCraft project templates for the sample applications.

nut/arch
Architecture specific system code, device drivers, linker scripts, runtime initialization etc.

nut/bin
Application binaries will be copied to this directory with 'make install'.

nut/boot
Ethernut boot loaders.

nut/c
Hardware independant C runtime routines. May be used for platforms without libc, but not used with the compilers listed above, as they provide their own.

nut/conf
Nut/OS configuration scripts, used by the Configurator.

nut/cpp
C++ support, probably limited.

nut/crt
Hardware dependant C runtime routines, mainly I/O and date/time.

nut/dev
Device drivers, which are configurable for all platforms. These are just a few. Most drivers are not yet portable and are therefore located in nut/arch.

nut/doc
API documentation including copyright statements.

nut/fs
Nut/OS file systems.

nut/include
Collection of all C header files, which are related to Nut/OS source files. You compiler may provide similar, in which case it is important, that this directory is searched first.

nut/lib
Pre-build Nut/OS libraries. You may try these, if your compiler somehow fails to create them.

nut/net
Network related code. The TCP/IP stack can be found here.

nut/os
Nut/OS kernel code and some useful APIs, which are not really needed by the kernel.

nut/pro
High level network code, like DHCP, HTTP etc.

nut/tools
Source code and binaries of various tools. Your PATH environment should point to nut\tools\win32 in the first place. For example, make.exe may be also included in your compiler package, but it may not work with the Nut/OS Makefiles, which sometimes use very specific features.

A few main tools are not located in the tools directory, but in the application folder.

nutconf.exe
Nut/OS Configurator. GUI tool to setup Nut/OS for your specific environment.

nutconfigure.exe
Command line version of the Nut/OS Configurator. Useful for automatic builds.

nutdisc.exe
This tiny utility is new with Nut/OS release 4.2. It scans local networks for Nut/OS nodes and allows to configure them remotely. Provided, that the application activates this service.