NuttX source code is available to the public under the permissive BSD license, available for download at:
- 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.
- 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.
Source code is also available from the main NuttX GIT repository:
git clone https://bitbucket.org/patacongo/nuttx.git nuttx
The NuttX repository contains GIT sub-modules for the
configs/ directories. These repositories are located here:
These submodules need to be individually initialized:
cd nuttx git submodule init git submodule update
These related packages are also available in GIT repositories:
git clone https://bitbucket.org/nuttx/buildroot.git buildroot git clone https://bitbucket.org/nuttx/nonbsd.git nonbsd git clone https://bitbucket.org/nuttx/nxwidgets.git NxWidgets git clone https://bitbucket.org/nuttx/pascal.git Pascal git clone https://bitbucket.org/nuttx/tools.git tools git clone https://bitbucket.org/nuttx/uclibc.git uClibc++
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 https://bitbucket.org/patacongo/nuttx nuttx git submodule add https://bitbucket.org/nuttx/nxwidgets/ NxWidgets git submodule add https://bitbucket.org/nuttx/uclibc/ misc/uClibc++ git submodule add https://bitbucket.org/nuttx/buildroot/ misc/buildroot git submodule add https://bitbucket.org/nuttx/tools/ misc/tools git submodule add https://bitbucket.org/nuttx/nonbsd/ misc/drivers git submodule add https://bitbucket.org/nuttx/pascal/ misc/pascal cd nuttx git submodule update --init --recursive
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
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.