Versioned NuttX Packages

Main NuttX Package

NuttX source code is available to the public under the permissive BSD license, available for download at:

Related Packages

  • Application Directory. This directory holds an optional package of applications and libraries can be used with the NuttX RTOS. There is a README.txt file there that will provide a more information about that package.
  • NxWidgets and NxWM. This is the NuttX C++ graphics support. This includes NxWM, the tiny NuttX Window Manager.
  • uClibc++. This repository contains a version of the uClibc++ C++ library. This code originates from and has been adapted for NuttX by the RGMP team.
  • buildroot. A environment that you can to use to build a custom, NuttX GNU toolchain.
  • tools. There are snapshots of some tools here that you will need to work with NuttX: kconfig-frontends, genromfs, and others.
  • nonbsd. A few drivers that are not integrated into the main NuttX source tree due to licensing issues.
  • Pascal. Yes, this really is a Pascal compiler. The Pascal p-code run-time and pcode debugger can be built as a part of NuttX.

Cloning from a GIT Repository

Main NuttX GIT Repsitory

Source code is also available from the main NuttX GIT repository:

git clone nuttx

The NuttX repository contains GIT sub-modules for the Documentation/, arch/, and configs/ directories. These repositories are located here:

These submodules need to be individually initialized:

cd nuttx
git submodule init
git submodule update

Related GIT Repsitories

These related packages are also available in GIT repositories:

git clone buildroot
git clone nonbsd
git clone NxWidgets
git clone Pascal
git clone tools
git clone uClibc++

Local Sub-Modules

Some people may want to maintain all of the repositories and on local clone with submodules. You do that as follows. This will result in a single repository reminiscent of the legacy SourceForge repository:

mkdir -p nuttx
cd nuttx
git init

# Add NuttX and the related repositories as submodules:
git submodule add nuttx
git submodule add NxWidgets
git submodule add misc/uClibc++
git submodule add misc/buildroot
git submodule add misc/tools
git submodule add misc/drivers
git submodule add misc/pascal

cd nuttx
git submodule update --init --recursive

Tagged Versions

It should be possible to checkout versioned releases of NuttX from the repository. For example, NuttX-7.11 is tagged as nuttx-7.11 in the NuttX repository as well as in the arch/, configs/, and Documentation sub-modules. I have heard that people doing this found that the initialized submodules did not refer to the tagged versions. I am not sure of the exact GIT commands to configured the tagged versions of the submodules. If someone wants to update this Wiki paragraph, please do so.