Under Construction
Overview
Nuttx is a real timed embedded operating system (RTOS).
Its goals are:
- A very small footprint usable in all but the tightest micro-controller environments,
- Fully scalable from tiny (8-bit) to moderate embedded (32-bit),
- High degree of standards compliance.
- Totally open.
Supported Platforms
- x86 Linux Simulation. Fully functional.
- TI TMS320C5471 (also called TMS320DM180).
NuttX operates on the ARM7 of this dual core processor.
This port uses the Spectrum Digital
evaluation board with a GNU arm-elf toolchain*.
This port is in progress and partially functional (However,
my board is dead at the moment so it will be awhile before I fix it)
- 8051 Microcontroller.
This port uses the PJRC 87C52 development system
and the SDCC toolchain.
This port will require a few more weeks before it is ready for prime time.
- Motorola (Freescale) MC68HC908GP32 Microcontroller.
Using the Axiom CMS8GP32 development board.
This is next in the queue.
- Other ports.
I also have partial ports for the TI TMS320DM270 and for MIPS.
* A highly modified buildroot
is available that be used to build a NuttX-compatible arm-elf toolchain.
Memory Footprint
Details to be provided
I have a complete build for an ARM7 target that includes most of the OS
features and a broad range of OS tests.
That builds to an executable that requires about 85Kb for .text, .data., and .bss.
I have a stripped down OS test for the 8051 target that requires only
18Kb. A substantial effort was required to get to this size
(see spreadsheet for details).
Licensing
NuttX is available under the highly permissive
BSD license.
Other than some fine print that you agree to respect my copyright
you should feel absolutely free to use NuttX in any environment and
without any concern for jeopardizing any proprietary software that
you may link with it.
Other Documentation
User Guide
Porting Guide