awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apache avatar

apache/nuttx

0
View on GitHub↗
3,912 stele·1,605 fork-uri·C·Apache-2.0·3 vizualizărinuttx.apache.org↗

Nuttx

NuttX este un sistem de operare în timp real (RTOS) compatibil POSIX, conceput pentru microcontrolere de la arhitecturi pe 8 biți până la 64 de biți. Oferă un mediu de execuție determinist cu un scheduler de task-uri în timp real și un kernel embedded POSIX pentru a asigura execuția portabilă a codului pe diverse ținte hardware.

Proiectul se distinge printr-un strat de abstractizare hardware cuprinzător care oferă drivere standardizate pentru I2C, SPI, CAN și USB pe diverse chipset-uri semiconductoare. De asemenea, dispune de un stack de rețea embedded care suportă TCP, UDP, IPv4 și IPv6, alături de protocoale industriale precum Modbus și DroneCAN.

Sistemul acoperă o gamă largă de capabilități, inclusiv gestionarea avansată a memoriei cu paginare la cerere, operațiuni criptografice securizate și un sistem de fișiere virtual pentru gestionarea tipurilor de stocare disparate. De asemenea, integrează interfețe de nivel înalt pentru interfețe grafice (GUI), sinteză audio și execuția mai multor limbaje de scripting și workload-uri WebAssembly.

Mediul este construit folosind Make sau CMake pentru a viza configurații specifice de plăci și chipset-uri.

Features

  • Embedded Real-Time Operating Systems - Provides a lightweight, deterministic operating system for real-time task execution on resource-constrained microcontroller hardware.
  • POSIX Interfaces - Implements a POSIX-compliant kernel and standardized system interfaces to ensure portable code across microcontroller architectures.
  • POSIX-Compliant Execution Environments - Implements standardized POSIX and ANSI APIs to ensure portable code execution across diverse microcontroller architectures.
  • Board Support Packages - Provides board support packages to map hardware-dependent settings, memory maps, and device drivers for new targets.
  • Hardware Abstraction Layers - Provides standardized hardware abstraction layers that decouple high-level drivers from specific microcontroller hardware platforms.
  • Embedded Hardware Deployment - Supports a wide range of 8-bit to 64-bit architectures, System-on-Chip series, and specific development boards for flexible hardware targeting.
  • Hardware Porting Frameworks - Provides a framework for defining processor architectures, SoC-specific logic, and board-level peripherals for hardware porting.
  • Network Stacks - Implements a full network stack supporting TCP, UDP, IPv4, and IPv6 via a standard socket interface.
  • Embedded Network Stacks - Ships a comprehensive embedded networking stack implementing TCP, UDP, IPv4, IPv6, Modbus, and DroneCAN.
  • Hardware Abstraction Interfaces - Provides a standardized framework for character, block, and specialized drivers to interact with hardware through a consistent high-level API.
  • Executable Program Loading - Parses and loads executable programs from the filesystem into memory for immediate execution.
  • Hardware Interfacing and Drivers - Provides a standardized device interface layer that connects high-level protocol stacks to physical hardware.
  • Hardware Abstraction Layers - Provides a consistent API and framework of device nodes to decouple high-level logic from physical hardware peripherals.
  • Hardware Resource Abstractions - Controls physical hardware through a system of device drivers and device nodes using standardized system calls.
  • Inter-Process Communication - Provides mechanisms for synchronizing execution and exchanging data between concurrent threads or processes using queues and semaphores.
  • Interactive System Shells - Provides a shell environment with a command-line editor, text editor, and standard Unix-like utilities for system management.
  • Boot & Startup Management - Provides utilities to load, verify, and launch system images from storage into memory during the device startup process.
  • Device Drivers - Provides a framework for character, block, and specialized drivers to interface hardware with the OS.
  • Memory Management Systems - Provides comprehensive systems for managing memory lifecycles, including on-demand paging and thread-local storage.
  • Dynamic Memory Allocation - Provides mechanisms for allocating and reallocating memory dynamically based on runtime requirements.
  • Hybrid Memory Allocators - Manages system resources using a combination of page, granule, and heap allocators to support varying memory protection modes.
  • System Call Interfaces - Implements the software interrupt mechanism that allows user-space applications to request kernel services.
  • Interrupt Masking - Saves and restores the interrupt enable state to protect critical sections of code from being interrupted.
  • Kernel Isolation Mechanisms - Separates unprivileged user-mode applications from the kernel using architecture-specific software interrupts.
  • Multi-Architecture Support - Runs on a wide range of processor architectures from 8-bit to 64-bit and various semiconductor chipsets.
  • Native Binary Execution - Provides mechanisms to load and execute compiled binary files directly from storage into memory.
  • Real-Time Task Scheduling - Provides deterministic scheduling of tasks and resources to ensure predictable execution timing for real-time operations.
  • Task Execution Coordination - Manages execution units for system-wide multitasking and deterministic scheduling.
  • Concurrent Thread Execution - Manages multiple execution paths using system threads to ensure real-time performance and non-blocking operations.
  • Executable Path Resolvers - Searches defined system directories to resolve requested command names to absolute binary file paths.
  • Symbol-To-Address Mapping - Maps undefined symbols to memory addresses using symbol tables to enable dynamic linking of binary modules.
  • Virtual File Systems - Provides a standardized API to access disparate storage types and block devices through a single unified directory hierarchy.
  • Sensor Drivers - Implements drivers to collect data from hardware sensors like accelerometers and barometers via I2C and SPI.
  • Graphics and Rendering - Builds user interfaces using a combination of window managers, text-based TUIs, and image libraries.
  • Cryptographic Key Management - Manages the lifecycle of cryptographic keys, including generation, derivation, and persistence to non-volatile storage.
  • In-Memory File Systems - Implements an in-memory file system that generates content on-the-fly without physical storage media.
  • Partition and Format Management - Creates and formats disk partitions, boot record tables, and file systems like FAT or SmartFS.
  • Initialization Drivers - Runs specific driver setup routines during the early boot process before system resources like memory allocation are available.
  • Unified File Access Interfaces - Provides a standardized API for interacting with multiple disparate file systems and storage drivers through a single interface.
  • Virtual File Systems - Organizes files and directories across various storage types through a standardized virtual file system interface.
  • Runtime Debugging - Provides tools for inspecting and troubleshooting the execution of the system on target hardware in real-time.
  • Framebuffer Graphics Drivers - Renders text, images, and graphical user interfaces using framebuffers and specialized graphics libraries.
  • Framebuffer Renderers - Writes visual data directly to a framebuffer or LCD using low-level rendering logic.
  • USB Interface Configuration - Supports the configuration of USB operational modes, including storage, communication, and composite device interfaces.
  • Custom OS Image Builders - Compiles a scalable execution environment for microcontrollers using build systems like Make or CMake to target specific hardware architectures.
  • Embedded Systems Debugging - Provides tools for stack overflow checks, core dumps, and hardware-assisted tracing on embedded architectures.
  • General Purpose Input Output Controllers - Provides interfaces for managing digital pin states and configurations for LEDs and buttons.
  • Industrial Control System Integrations - Integrates industrial controllers and messaging protocols like Modbus and SCPI to manage industrial hardware.
  • Non-Volatile Storage - Interfaces with FLASH, EEPROM, NVRAM, and SD/MMC cards to store and retrieve persistent data.
  • Peripheral Hardware Controllers - Provides APIs for managing a wide range of hardware peripherals, including ADC, SPI, and I2C interfaces.
  • MQTT Messaging Integrations - Provides MQTT protocol integration for lightweight pub-sub machine-to-machine communication.
  • Industrial Communication Libraries - Ships libraries implementing industrial protocols like CAN, Modbus, and DroneCAN for automation device communication.
  • Dynamic IP Address Management - Assigns and renews IP addresses for IPv4 and IPv6 using automated client requests.
  • Local Network Connectivity - Implements local network connectivity including DHCP acquisition and interface status monitoring for embedded devices.
  • CAN Bus Interfaces - Provides interfaces for transmitting and receiving data over the Controller Area Network (CAN) bus.
  • Modbus Protocol Libraries - Provides comprehensive libraries for interacting with the Modbus protocol as both a client and server.
  • Network Routing and Traffic Management - Provides mechanisms for directing data packets through network bridges and IP forwarding.
  • Network Protocol Implementations - Includes a library implementation of the CANopen standard for industrial device communication.
  • Network Service Implementations - Runs servers and clients for common communication protocols including SSH, FTP, and WebSockets.
  • Network Traffic Routing - Directs data packets between interfaces and hosts using routing tables and address translation.
  • Network Traffic Rules - Implements a rule-based system to filter and control network packet flow.
  • Inter-Processor Communication - Facilitates data exchange and synchronization between multiple processors using dedicated controllers.
  • Asymmetric Multi-Processing Frameworks - Implements a standardized interface to coordinate resource sharing and communication between disparate processor cores.
  • System Debugging - Performs low-level analysis of system failures using coredumps, critical section monitoring, and stack backtraces.
  • Dynamic Module Loading - Execute separately linked programs by connecting them to the base system code at runtime.
  • I/O Buffering - Implements intermediate memory buffers to optimize data transfer between drivers, networking, and applications.
  • Inter-Process Shared Memory - Provides low-level primitives for creating shared memory regions for high-performance communication between processes.
  • Interactive Shells - Provides a native shell environment for executing system commands and managing the device via a terminal interface.
  • Fixed-Size Memory Pool Managers - Implements fixed-size memory pool managers to provide deterministic allocation and avoid heap fragmentation.
  • Multiple Heap Instances - Allows the initialization and management of independent memory pools for different parts of an application.
  • Native Shells - Provides a native shell for executing utilities and managing the system from a terminal interface.
  • Network Interface Drivers - Implements drivers for Ethernet and other network hardware to enable system connectivity.
  • Demand Paging Mechanisms - Loads program segments into physical memory only when accessed to optimize RAM usage on constrained devices.
  • Physical Page Allocators - Implements management of raw physical memory frames for kernel and user-space usage in systems with an MMU.
  • System Configuration Interfaces - Allows adjustment of operational settings and hardware parameters to tailor the system to specific microcontroller requirements.
  • Runtime Symbol Resolution - Provides mechanisms for loading and resolving external symbols across compiled modules during program execution.
  • Dynamic Script Execution - Integrates language interpreters and runtimes to execute scripts and bytecode on embedded hardware without recompilation.
  • Embedded Script Execution - Runs code through embedded interpreters for multiple languages including Python, Lua, JavaScript, Forth, and BASIC.
  • Multi-Language Runtimes - Run applications written in various compiled and interpreted languages to support diverse development stacks.
  • Shell Script Execution - Invokes a shell interpreter to run sequences of commands, including loops and conditionals, to automate system tasks.
  • WebAssembly Runtimes - Executes WebAssembly binaries using lightweight micro-runtimes optimized for embedded environments.
  • Cryptographic Hash Generation - Generates secure hashes and HMACs using algorithms such as SHA-2 and MD5 to verify data integrity.
  • Cryptographic Operations - Provides standardized APIs for performing symmetric and asymmetric cryptographic operations.
  • Cryptography Libraries - Ships comprehensive libraries for SSL/TLS encryption, cryptographic hashing, and secure element control.
  • Network Traffic Filtering - Filters IP packets and translates network addresses to control and restrict network traffic for system security.
  • Asymmetric Algorithm Implementations - Handles digital signatures and encryption using asymmetric algorithms such as RSA and ECDSA.
  • Symmetric Encryption - Provides symmetric encryption and decryption using block and stream ciphers like AES and ChaCha20.
  • User Access Management - Handles user password files and authentication records to control system access.
  • Remote Command Execution - Allows the execution of specific programs or scripts on a distant machine via network protocols.
  • SSH and Telnet Remote Shells - Implements secure and plaintext remote command-line access via SSH and Telnet.
  • Backtrace Generation - Automatically generates call stacks from memory dumps to diagnose program crashes and processor faults.
  • Hardware Performance Benchmarking - Runs standardized benchmarks to measure the computational speed and efficiency of the hardware and software configuration.
  • Performance Measurement - Provides high-resolution timing and resource tracking to evaluate CPU, RAM, and filesystem performance.
  • Graphical User Interfaces - Draws windows, widgets, and visual elements on a screen using integrated libraries and window managers.
  • High-Level UI Components - Implements framed windows and toolbar logic through high-level window drawing operations.
  • Widget Libraries - Provides a C++ library for building and managing object-oriented graphical user interface widgets.
  • Terminal User Interfaces - Builds interactive keyboard-driven terminal interfaces using a standardized curses library.

Istoric stele

Graficul istoricului de stele pentru apache/nuttxGraficul istoricului de stele pentru apache/nuttx

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Nuttx

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Nuttx.
  • mit-pdos/xv6-publicAvatar mit-pdos

    mit-pdos/xv6-public

    9,466Vezi pe GitHub↗

    xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for

    C
    Vezi pe GitHub↗9,466
  • alibaba/alios-thingsAvatar alibaba

    alibaba/AliOS-Things

    4,620Vezi pe GitHub↗

    AliOS-Things is a scalable operating system for internet-connected devices. It provides an embedded firmware framework and runtime for managing hardware peripherals, network connectivity, and secure data execution across diverse CPU architectures. The system includes an edge AI inference engine for processing audio and image patterns locally without cloud dependencies. It also features a cloud connectivity SDK for automated onboarding, remote diagnostics, and log reporting, alongside a scripting engine for executing high-level code on resource-constrained hardware. Connectivity is handled th

    C
    Vezi pe GitHub↗4,620
  • torvalds/linuxAvatar torvalds

    torvalds/linux

    237,355Vezi pe GitHub↗

    The Linux kernel is a monolithic operating system core that manages hardware resources, memory, and process scheduling across diverse computing architectures. It provides a standardized, POSIX-compliant environment for application execution while maintaining a modular driver framework that allows for the dynamic loading and removal of hardware interfaces. The project is distinguished by its high-performance concurrency toolkit, which utilizes lockless synchronization primitives and read-copy-update mechanisms to manage shared data access in multi-core environments. It incorporates a comprehen

    C
    Vezi pe GitHub↗237,355
  • redox-os/redoxAvatar redox-os

    redox-os/redox

    16,054Vezi pe GitHub↗

    Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe language for the kernel and all system components, the project eliminates common vulnerabilities such as buffer overflows and use-after-free errors. Its architecture relies on a minimal kernel that manages only essential hardware and process isolation, delegating all other system services to unprivileged user-space processes. The system distinguishes itself through a modular design where hardware drivers and system services run as independent user-space daemons, allowing them to

    Rustbsdfreebsdgnu
    Vezi pe GitHub↗16,054
Vezi toate cele 30 alternative pentru Nuttx→

Întrebări frecvente

Ce face apache/nuttx?

NuttX este un sistem de operare în timp real (RTOS) compatibil POSIX, conceput pentru microcontrolere de la arhitecturi pe 8 biți până la 64 de biți. Oferă un mediu de execuție determinist cu un scheduler de task-uri în timp real și un kernel embedded POSIX pentru a asigura execuția portabilă a codului pe diverse ținte hardware.

Care sunt principalele funcționalități ale apache/nuttx?

Principalele funcționalități ale apache/nuttx sunt: Embedded Real-Time Operating Systems, POSIX Interfaces, POSIX-Compliant Execution Environments, Board Support Packages, Hardware Abstraction Layers, Embedded Hardware Deployment, Hardware Porting Frameworks, Network Stacks.

Care sunt câteva alternative open-source pentru apache/nuttx?

Alternativele open-source pentru apache/nuttx includ: mit-pdos/xv6-public — xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an… alibaba/alios-things — AliOS-Things is a scalable operating system for internet-connected devices. It provides an embedded firmware framework… torvalds/linux — The Linux kernel is a monolithic operating system core that manages hardware resources, memory, and process scheduling… redox-os/redox — Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe… apache/incubator-nuttx — NuttX is a POSIX-compliant real-time operating system designed for resource-constrained embedded environments. It… s-matyukevich/raspberry-pi-os — This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level…

Colecții curatoriate care includ Nuttx

Colecții selectate manual în care apare Nuttx.
  • Sisteme de operare în timp real (RTOS) pentru microcontrolere