NUTTX Operating System

Source: Internet
Author: User

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
    • A10 (CORTEX-A8)
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
    • Intel 80x52
    • Intel 80x86
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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.