A few days ago when the reply to see a classmate in use, came back after a bit of information.
Source: It's light again.
1 NUTTX Real-time operating system
The NUTTX is a real-time operating system (RTOS) that emphasizes standard compatibility and small packages with high scalability from 8-bit to 32-bit microcontroller environments. Nuttx mainly follows the Posix and ANSI standards, with additional standard APIs from Unix and common RTOS (such as VxWorks) for features not supported under these standards, or for features that are not suitable for deep embedding environments such as fork ().
The first version of Nuttx was released by Gregory Nutt in 2007 under the LAX BSD license.
2 Key Features
- Standard compatible
- Core task Management
- Modular design
- Fully preempted
- Naturally Expandable
- Highly configurable
- Graphical Configuration Tool
- Easily scalable to new processor architectures, SoC architectures, or board-level architectures
- FIFO and rotation scheduling
- Real-time, deterministic, priority-enabled inheritance
- Class Posix/ansi task control, named Message Queuing, count semaphore, clock/timer, signal, pthread, environment variable, file system
- Class VxWorks task management and watchdog timers
- BSD Socket Interface
- Extension of priority management
- Optional tasks with address environment (process)
- Inheritable "Control terminal" and I/O redirection
- Request Paging
- System log
- Can be built as an open, planar embedded RTOS, or as a microkernel with a system call interface
- Built-in CPU load measurement per thread
- Good documentation Support
3 Supported Platforms 3.1 Allwinner
3.2 Atmel
- AVR ATMega128 (8-bit AVR)
- AVR At90usb64x and at90usb6128x (8-bit AVR)
- AVR32 at32uc3bxxx (32-bit AVR32)
- Atmel SAMD20 (ARM cortex-m0+)
- Atmel sam3u (ARM cortex-m3)
- Atmel sam3x (ARM cortex-m3)
- Atmel sam4l (ARM cortex-m4)
- Atmel sam4s (ARM cortex-m4)
- Atmel sam4e (ARM cortex-m4)
- Atmel sama5d3 (ARM cortex-a5)
3.3 Freescale
- M68hcs12
- Freescale I.mx1 (ARM920-T)
- FreeScale kl25z (ARM cortex-m0+)
- FreeScale Kinetis K40 (ARM cortex-m4)
- FreeScale Kinetis K60 (ARM cortex-m4)
3.4 Host PC-based simulation
- Linux/cygwin User mode emulation
3.5 Intel
3.6 MicroChip
- Pic32mx2xx Family (Modified MIPS32)
- Pic32mx4xx Family (Modified MIPS32)
- Pic32mx7xx Family (Modified MIPS32)
3.7 Nuvoton
- Nuvoton NUC120 (ARM cortex-m0)
3.8 NXP
- NXP lpc214x (ARM7TDMI)
- NXP LPC2378 (ARM7TDMI)
- NXP LPC3131 (ARM9E6JS)
- NXP lpc315x (ARM9E6JS)
- NXP lpc176x (ARM cortex-m3)
- NXP lpc178x (ARM cortex-m3)
- NXP lpc43xx (ARM cortex-m4)
3.9 Renesas/hitachi:
- Renesas/hitachi SuperH
- Renesas M16C/26
3.10 STMicroelectronics
- Stmicro str71x (ARM7TDMI)
- Stmicro stm32l152 (STM32 L "Energylite" line, ARM cortex-m3)
- Stmicro stm32f100x (STM32 F1 "Value line" Family, ARM cortex-m3)
- Stmicro Stm32f103c4/c8 (STM32 F1 "Low-and medium-density line" Family, ARM cortex-m3)
- Stmicro stm32f103x (STM32 F1 Family, ARM cortex-m3)
- Stmicro stm32f107x (STM32 F1 "Connectivity line" family, ARM cortex-m3)
- Stmicro stm32f207x (STM32 F2 family, ARM cortex-m3)
- Stmicro stm32f303x (STM32 F3 family, ARM cortex-m4).
- Stmicro stm32f407x (STM32 F4 family, ARM cortex-m4)
- Stmicro STM32 f427/437 (STM32 F4 family, ARM cortex-m4)
- Stmicro STM32 F429 (STM32 F4 family, ARM cortex-m4)
3.11 Texas Instruments (some formerly luminary)
- TI tms320-c5471 (ARM7TDMI)
- TI Calypso (ARM7TDMI)
- TI tms320-dm320 (ARM9E6JS)
- Ti/stellaris lm3s6432 (ARM cortex-m3)
- Ti/stellaris lm3s6432s2e (ARM cortex-m3)
- Ti/stellaris lm3s6918 (ARM cortex-m3)
- Ti/stellaris lm3s6965 (ARM cortex-m3)
- Ti/stellaris lm3s8962 (ARM cortex-m3)
- Ti/stellaris lm3s9b96 (ARM cortex-m3)
- Ti/stellaris lm4f120x (ARM cortex-m4)
- Ti/tiva tm4c123g (ARM cortex-m4)
3.12 ZiLOG
- ZiLOG Zneo z16f
- ZiLOG eZ80 acclaim!
- ZiLOG z8encore!
- ZiLOG Z180
- ZiLOG Z80
4 Supported Boards
16z Amber Arduino-due Avr32dev1 C5471evm Cloudctrl Compal_e86 Compal_e88 Compal_e99 Demo9s12ne64 ea3131 ea3152 eagle100 Ekk-lm3s9b96 Ez80f910200kitg Ez80f910200zco Fire-stm32v2 freedom-kl25z hymini-stm32v Kwikstik-k40 Lincoln60 Lm3s6432-s2e Lm3s6965-ek |
Lm3s8962-ek Lm4f120-launchpad Lpc4330-xplorer lpcxpresso-lpc1768 Maple Mbed mcu123-lpc214x Micropendous3 Mikroe-stm32f4 Mirtoo Mx1ads Ne64badge ntosd-dm320 nucleus2g nutiny-nuc120 Olimex-lpc1766stk olimex-lpc2378 olimex-lpc-h3131 olimex-stm32-p107 olimex-stm32-p207 olimex-strp711 open1788 p112 |
Pcblogic-pic32mx Pcduino-a10 Pic32mx7mmb Pic32-starterkit Pirelli_dpl10 pjrc-8051 Px4fmu-v2_upstream qemu-i486 Rgmp Sam3u-ek Sam4e-ek sam4l-xplained sam4s-xplained Sama5d3x-ek samd20-xplained Shenzhou IV No. Sim Skp16c26 Spark Stm3210e-eval Stm3220g-eval Stm3240g-eval Stm32f100rc_generic |
Stm32f3discovery Stm32f429i-disco Stm32f4discovery Stm32ldiscovery Stm32_tiny Stm32vldiscovery Sure-pic32mx Teensy Tm4c123g-launchpad twr-k60n512 Ubw32 Us7032evb1 viewtool-stm32f107 Vsn Xtrs Z16f2800100zcog Z80sim Z8encore000zco Z8f64200100kit zkit-arm-1769 Zp214xpa
|
5 File system
- Micro-root pseudo-file system based on memory
- Virtual file System (VFS)
- Mounted volumes: Bound mount points, file systems, and block device drives.
- Common system log (SYSLOG) support
- FAT12/16/32 File System Support
- Client for NFS: Client side support for Network File System (NFS, version 3,udp)
- Nxffs: Miniature NUTTX loss balancing FLASH file system
- Smart:ken Pettit provides the Flash file system.
- procfs/File System
- Universal driver for MMC/SD/SDH card based on SPI
- Romfs File System Support
- The binary loader supports the following formats:
- Out-of-link ELF module
- Detach the Nxflat module from the link. Nxflat is a binary format that can be executed from within a file system chip.
- PATH variable Support
- Transfer files (receive and send) via TFTP and FTP, HTML (wget), Zmodem (SZ and RZ).
6 Device drivers
- VFS supports character and block drivers
- Network, USB (host), USB (device), serial port, I²c, I2s, NAND, CAN, ADC, DAC, PWM, quadrature encoder and watchdog timer driver architecture.
- RAMDISK, piping, FIFO,/dev/null,/dev/zero Drive
- Universal driver for MMC/SD/SDH cards based on SPI or SDIO
- Power Management Subsystem
- Built-in Freemodbus 1.5.0 version provides ModBus support
- Graphics devices: Frame-buffered drives, graphics, and segment LCD drivers
- Audio subsystem: Codec, audio input, and output driver. command line and graphical interface Media Player application
- Input Devices: Touch screen, USB keyboard, USB mouse, GPIO-based buttons and keyboards
- Analog Devices: Supports analog-to-digital conversion (ADC), digital-to-analog conversion (DAC), multiplexer, and amplifier
7/C + + libraries
- Standard C Library fully integrated within the OS
- Provides floating-point support through a standard math library
- Plug-in uclibc++ module provides a standard C + + library that supports IO streams, strings, STL, RTTI, exceptions, etc. (LGPL)
8 Network
- TCP/IP, UDP, ICMP, IGMPv2 (client) stack
- SLIP
- A cjson transplant.
- Small package (based on UIP)
- BSD-compliant sockets Layer
- Network utilities (DHCP server and client, SMTP client, TELNET client, FTP server and client, TFTP client, HTTP server and client, NTP client). An inheritable TELNET session (such as "Control Terminal").
- Client for NFS: Client side support for Network File System (NFS, version 3,udp)
- A nuttx migration of the thttpd HTTP server from Jeff Poskanzer, integrated in Nxflat, provides embedded CGI.
- UDP Network Discovery, XML RPC Server
- Support for network modules (such as TI CC3000 WLAN modules)
9 Flash Support
- Storage technology Device interface inspired by MTD
- NAND Support
- FTL: A simple flash conversion layer that supports the file system on Flash
- Nxffs:nuttx loss balancing FLASH file system
- Support for SPI-based FLASH devices
USB Support 10.1 USB host support
- USB host controller driver and device dependent USB class-driven USB host architecture
- USB Host controller driver available for NXP lpc17xx
- USB-Class drivers for devices that can be used with USB mass storage devices and HID keyboards
10.2 USB Device Support
- USB Device controller Driver and device-dependent USB class-driven class Gadget architecture
- USB Device controller drivers available for PIC32, NXP lpc17xx, lpc214x, lpc313x, lpc43xx, Stmicro stm32f1x, stm32f2x, stm32f4x, and TI DM320
- USB-Class-dependent driver for USB serial and USB mass storage devices
- Built-in USB tracking function for USB debugging
11 Graphics support
- Frame Buffer Driver
- LCD and OLED graphics LCD driver for parallel port and SPI port
- Segment Type LCD driver
- NX Graphics Subsystem: A graphics library, windowing system and font support, working with frame buffering or LCD drivers
- NUTTX Widgets: Graphical user interface, written in conservative C + +, integrated in NX graphics
- NUTTX window Manager: A miniature window manager based on the NX Graphics subsystem and NUTTX Widgets
12 Plugin 12.1 Nuttshell
- A small, extensible, bash-like shell for NUTTX with rich feature sets and small packages.
12.2 Pascal Run time
- The Pascal plugin can be downloaded from the SourceForge website.
13 Development environment
- Linux + GNU make + gcc/binutils for Linux
- Linux + GNU make + SDCC for Linux
- Windows with Cygwin + GNU make + gcc/binutils (custom build under Cygwin)
- Windows with Cygwin + GNU make + SDCC (custom build under Cygwin)
- Windows with Cygwin + GNU make + windows local Toolchain
- Windows Local (CMD.exe) + GNUWin32 (with GNU make) + MinGW host GCC compiler + Windows local Toolchain
- Wine + GNU make + Windows local toolchain
14 Links
Official website: http://www.nuttx.org
Wiki:http://www.nuttx.org/doku.php?id=wiki
Download: HTTP://SOURCEFORGE.NET/PROJECTS/NUTTX
NUTTX Operating System