January 21, 2011
All time downloads
Description of NuttX 5.17
A real timed embedded operating system
Nuttx is a real timed embedded operating system (RTOS). Its goals are: small footprint ( usable in all but the tightest micro-controller environments, The focus is on the tiny-to-small, deeply embedded environment ), rich feature OS set ( The goal is to provide implementations of most standard POSIX OS interfaces to support a rich, multi-threaded development environment for deeply embedded processors ), highly scalable ( fully scalable from tiny (8-bit) to moderate embedded (32-bit).
Scalability with rich feature set is accomplished with: Many tiny source files, link from static libraries, highly configurable, use of weak symbols when available ), standards compliance ( NuttX strives to achieve a high degree of standards compliance.
The primary governing standards are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS's are adopted for functionality not available under these standards or for functionality that is not appropriate for the deeply-embedded RTOS (such as fork()) ), real time ( fully pre-emptible, fixed priority and round-robin scheduling ), totally open ( non-restrictive BSD license ).
Standards Compliant Core Task Management
• Modular, micro-kernel
• Fully pre-emptible.
• Naturally scalable.
• Highly configurable.
• Easily extensible to new processor architectures, SoC architecture, or board architectures. A Porting Guide is in development.
• FIFO and round-robin scheduling.
• Realtime, deterministic, with support for priority inheritance
• POSIX/ANSI-like task controls, named message queues, counting semaphores, clocks/timers, signals, pthreads, environment variables, filesystem.
• VxWorks-like task management and watchdog timers.
• BSD socket interface.
• Extensions to manage pre-emption.
• On-demand paging.
• Well documented in the NuttX User Guide.
• Tiny in-memory, root pseudo-file-system.
• Supports character and block drivers.
• Network, USB (host), USB (device), serial, CAN, driver architectures.
• RAMDISK, pipes, FIFO, /dev/null, /dev/zero drivers.
• Mount-able volumes. Bind mountpoint, filesystem, and block device driver.
• FAT12/16/32 filesystem support.
• Generic driver for SPI-based MMC/SD/SDH cards.
• ROMFS filesystem support.
• NXFLAT. A new binary format call NXFLAT that can be used to execute separately linked programs in place in a file system.
• Fully integrated into the OS.
• TCP/IP, UDP, ICMP, IGMPv2 (client) stacks.
• Small footprint (based on uIP).
• BSD compatible socket layer.
• Networking utilities (DHCP, SMTP, TELNET, TFTP, HTTP)
• A NuttX port of Jeff Poskanzer's THTTPD HTTP server integrated with NXFLAT to provide true, embedded CGI.
• MTD-inspired interface for Memory Technology Devices.
• FTL. Simple Flash Translation Layer support file systems on FLASH.
• Support for SPI-based FLASH devices.
USB Host Support
• USB host architecture for USB host controller drivers and device-dependent USB class drivers.
• USB host controller drivers available for the NXP LPC17xx.
• Device-dependent USB class drivers available for USB mass storage and HID keyboard.
USB Device Support
• Gadget-like architecture for USB device controller drivers and device-dependent USB class drivers.
• USB device controller drivers available for the NXP LPC17xx, LPC214x, LPC313x, STMicro STM32 and TI DM320.
• Device-dependent USB class drivers available for USB serial and for USB mass storage.
• Built-in USB trace functionality for USB debug.
• Framebuffer drivers.
• LCD drivers for both parallel and SPI LCDs and OLEDs.
• NX: A graphics library, tiny windowing system and tiny font support that works with either framebuffer or LCD drivers. Documented in the NX Graphics Subsystem manual.
Editor's review for NuttX
If you are looking for a real-time operating system to service your needs, chances are that there will be a number of options on the market for you to consider. Some will cost money, some will be free; some will be of a very high quality, while others will not be. NuttX is one of those real-time operating systems that are both high in quality, but low in price – in fact, the operating system is free!
NuttX is one of those products that can be considered ‘future proofed’ – that is, once you install it, there will be little chance that you will need to change to some other real-time embedded operating system at some point down the track to keep up with the latest in technology. This is due to NuttX’s easy adaptation to new technologies, including new board architectures, which make it easily extendable to fit around the demands and rewards of future developments in the IT world. However, this is not to say that updates to the operating system on a regular basis are not necessary – the RTOS is updated frequently by the software developers, and its open source nature leave it open to tweaking by users as well! For these reasons, NuttX could be considered to have a significant advantage over its competitors in that you will most likely not need to switch your RTOS over from NuttX again to keep up with new technology should such technology emerge.
Another advantage of using NuttX as an RTOS is its ‘only pay for what you use’ nature in terms of footprint. Many RTOS users find themselves being dragged down by endless useless features that they never use, and their footprint is negatively affected as a result. NuttX only includes the features you select in its ultimate executable file, leaving you free to pursue that goal of achieving a lower footprint. Many other RTOSs don’t have this capability, putting NuttX at a distinct advantage.
If you’re looking for a reliable RTOS, do not discount NuttX simply because it’s free and open source. Its feature set and surprisingly small footprint rivals that of what a developer with far greater resources could produce!
Add your review
Top popularity in Servers
Load and run PHP pages from CD, DVD or USB disk directly