9 repositorios
Support for operating in environments without a standard library by disabling system-level dependencies.
Distinct from Environment Support Managers: Distinct from Environment Support Managers: focuses on no-std compatibility specifically.
Explore 9 awesome GitHub repositories matching operating systems & systems programming · No-Std Environment Adapters. Refine with filters or upvote what's useful.
This project is a framework for the efficient serialization and deserialization of data structures. It provides a unified, macro-based interface that automates the conversion of complex internal objects into standardized formats and reconstructs them from raw input streams or buffers. By leveraging compile-time code generation, the library minimizes manual implementation overhead while ensuring consistent logic across diverse data types. The framework distinguishes itself through a format-agnostic data model and a visitor-based parsing architecture that decouples data structures from specific
Operates in environments without a standard library by disabling default features.
This project is a collection of techniques and configurations for reducing the disk footprint of compiled Rust executables. It serves as a guide and toolset for binary size optimization, providing strategies to minimize the final executable size through compiler flags and configuration. The project focuses on aggressive size reduction strategies, including recompiling the standard library from source to prune unused functions and implementing no-standard-library modes for memory-constrained environments. It details how to eliminate runtime overhead by removing standard library entry points an
Guides the creation of lightweight runtimes by removing standard library dependencies for memory-constrained environments.
This project is a structured tracing framework for Rust that serves as an async-aware instrumentation library and telemetry data collector. It provides a structured logging facade and the tools necessary to record, filter, and route event-based diagnostic data from both standard applications and embedded systems. The framework distinguishes itself through a core implementation that supports bare-metal and no-standard-library environments without requiring a dynamic memory allocator. It specifically handles the complexities of asynchronous workflows by propagating diagnostic contexts across fu
Decouples the instrumentation API from the standard library to support bare-metal and embedded environments.
Zero-cost asynchronous programming in Rust
Operates in bare-metal environments by disabling default features and using only the core API surface.
nalgebra es una biblioteca de álgebra lineal para Rust que proporciona operaciones de matriz y vector con soporte para dimensiones tanto en tiempo de compilación como en tiempo de ejecución. Funciona como una biblioteca de análisis numérico y una biblioteca de matrices dispersas, ofreciendo un framework matemático capaz de ejecutarse en entornos embebidos y WebAssembly sin requerir la biblioteca estándar de Rust. El proyecto se distingue como una biblioteca de transformación geométrica, utilizando coordenadas homogéneas, cuaterniones e isometrías para manejar rotaciones, traslaciones y proyecciones 3D. Implementa una variedad de descomposiciones de matrices —incluyendo LU, QR, Cholesky, SVD y descomposición de valores propios— para resolver sistemas lineales y analizar matrices. La biblioteca cubre áreas de capacidad amplias, incluyendo computación geométrica para transformaciones espaciales, utilidades de gráficos por computadora para la composición de matrices de proyección y exportación de datos de shaders, y gestión especializada de matrices dispersas utilizando almacenamiento comprimido por filas y columnas. También proporciona herramientas de gestión de datos para la inicialización, redimensionamiento y análisis de archivos Matrix Market.
Offers a mathematical framework specifically designed to run in WebAssembly and embedded environments without the standard library.
Prost es una implementación de Protocol Buffers para Rust que funciona como un framework de serialización binaria y generador de código. Traduce definiciones de esquema a structs y enums idiomáticos de Rust, proporcionando la lógica necesaria para codificar y decodificar datos estructurados en el formato binario de Protocol Buffers. El proyecto se distingue por una implementación no-std, permitiéndole operar en entornos embebidos o de kernel que carecen de una biblioteca estándar. También sirve como un introspector de esquemas emitiendo conjuntos de descriptores de archivos, lo que permite el análisis programático de definiciones de esquema originales en tiempo de ejecución. La biblioteca cubre una amplia gama de capacidades, incluyendo generación de rasgos de servicio para modelado de interfaces, soporte para tipos bien conocidos y anotaciones de macros procedimentales para mapear definiciones de tipos manuales. También proporciona herramientas para la gestión de dependencias y pruebas de fuzzing para asegurar la estabilidad de la serialización.
Implements compatibility for environments without a standard library, enabling use in embedded or kernel contexts.
Chumsky es una librería de combinadores de parser utilizada para construir parsers de alto rendimiento componiendo pequeñas funciones de parsing en gramáticas complejas. Proporciona múltiples motores de parsing, incluyendo implementaciones de descenso recursivo y escalada de precedencia para resolver el orden de operaciones en expresiones matemáticas y lógicas. La librería se distingue por su parsing de texto de copia cero (zero-copy), que minimiza las asignaciones de memoria para aumentar el rendimiento, y su capacidad para ejecutarse sin una librería estándar para su uso en entornos embebidos o con recursos limitados. También cuenta con un parser de recuperación de errores que identifica entradas mal formadas y reanuda el procesamiento para informar múltiples errores de sintaxis en una sola pasada. El framework cubre una amplia gama de capacidades, incluyendo gestión de estado sensible al contexto, soporte para gramáticas recursivas e integración de patrones de expresiones regulares. Incluye herramientas para el análisis de la estructura del parser, inspección de nodos y caché de resultados para admitir backtracking y recursión a la izquierda. La librería admite el desarrollo de lenguajes personalizados, parsing de formatos de datos y herramientas de lenguaje de programación.
Offers compatibility for environments without a standard library, enabling high-performance parsing in restricted or embedded systems.
smoltcp is a TCP/IP stack and network protocol implementation designed for resource-constrained environments and bare-metal hardware. It provides a set of socket interfaces for managing reliable TCP stream connections and connectionless UDP datagrams without relying on a standard library. The project utilizes a fixed memory layout and static memory allocation to manage network state and process packets without a dynamic memory allocator. It includes specialized capabilities for low-power wireless networks, such as header compression and fragmentation for 6LoWPAN. The stack covers the data li
Provides a network stack written for environments without a standard library using fixed memory layouts.
Embedded-hal is a hardware abstraction layer for embedded microcontrollers that defines common traits allowing peripheral drivers to remain entirely independent of specific hardware platforms. The library provides platform-agnostic interfaces that decouple driver logic from microcontroller architectures, utilizing zero-cost trait abstractions that compile down to direct hardware register manipulations without runtime overhead or memory allocation. The project features asynchronous execution support and synchronous-to-asynchronous adaptation, enabling non-blocking peripheral operations and coo
Provides custom input and output traits tailored for bare-metal and resource-constrained environments.