awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/pebble

0
View on GitHub↗
4,963 stars·394 forks·C·Apache-2.0·10 vues

Pebble

Pebble est une implémentation de référence de firmware pour wearable destinée à la recherche sur les systèmes embarqués et à l'analyse de firmware. Il sert de blueprint technique pour comprendre comment les systèmes d'exploitation de montres connectées sont structurés et exécutés sur du matériel contraint.

La base de code se concentre sur le rendu matériel à faible consommation et la gestion des données de pixels et des buffers d'affichage pour minimiser la consommation d'énergie. Il fournit un guide historique pour le développement d'applications de montre et l'étude de l'architecture logicielle des wearables.

Le système incorpore une couche d'abstraction matérielle, une image de firmware monolithique et une combinaison d'allocation mémoire statique et de rendu framebuffer direct. L'entrée est gérée via une boucle événementielle qui mappe les interruptions matérielles vers des callbacks d'application.

Le code source est fourni via une distribution flat-file et inclut un script automatisé pour restaurer la hiérarchie de répertoire originale.

Features

  • Reference Firmware Implementations - Serves as a reference implementation of wearable firmware for embedded system research and analysis.
  • Framebuffer Renderers - Writes visual data directly to a firmware-provided framebuffer to minimize overhead on low-power hardware.
  • Embedded System Architectures - Provides a blueprint for design patterns and layouts for modular hardware and software integration in low-power wearables.
  • Firmware Architectural Analysis - Provides a basis for studying the internal architecture of a smartwatch operating system and how it is executed.
  • Display Power Optimizations - Manages pixel data and display buffers to minimize energy consumption on wearable hardware.
  • Input Event Loops - Utilizes a non-blocking event loop to handle user input and dispatch hardware interrupts to system applications.
  • Hardware Abstraction Layers - Provides a consistent API across different watch hardware revisions by decoupling high-level system calls from register manipulations.
  • Event-Driven Input Handlers - Processes user input events through an asynchronous loop to trigger specific application callbacks.
  • Smartwatch Development - Serves as a technical blueprint for building wearable applications by integrating hardware designs with a real-time operating system.
  • Input Interrupt Handling - Maps hardware signals to software events to trigger immediate system responses to user inputs.
  • Static Memory Allocations - Declares fixed-size data structures in global memory to ensure stability on devices with very limited RAM.
  • Static Allocation Strategies - Implements techniques for pre-calculating memory requirements at compile time to ensure stability on RAM-constrained wearable hardware.
  • Firmware Binary Blobs - Combines the kernel and application logic into a single binary blob for flashing onto wearable hardware.

Historique des stars

Graphique de l'historique des stars pour google/pebbleGraphique de l'historique des stars pour google/pebble

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Pebble

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Pebble.
  • pygame/pygameAvatar de pygame

    pygame/pygame

    8,620Voir sur GitHub↗

    Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea

    Cgame-devgame-developmentgamedev
    Voir sur GitHub↗8,620
  • floooh/sokolAvatar de floooh

    floooh/sokol

    9,620Voir sur GitHub↗

    Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles

    C
    Voir sur GitHub↗9,620
  • nanopb/nanopbAvatar de nanopb

    nanopb/nanopb

    5,437Voir sur GitHub↗

    Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and microcontrollers. It functions as both an embedded serialization library for encoding and decoding structured data and a code generator that transforms definition files into compact C source and header files. The project is distinguished by its focus on static memory allocation, using fixed maximum sizes for strings and arrays to avoid dynamic memory allocation and heap fragmentation. It employs a callback-based streaming mechanism to process messages or fields that exceed available phys

    C
    Voir sur GitHub↗5,437
  • tinygo-org/tinygoAvatar de tinygo-org

    tinygo-org/tinygo

    17,529Voir sur GitHub↗

    TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re

    Goadafruitarduinoarm
    Voir sur GitHub↗17,529
Voir les 30 alternatives à Pebble→

Questions fréquentes

Que fait google/pebble ?

Pebble est une implémentation de référence de firmware pour wearable destinée à la recherche sur les systèmes embarqués et à l'analyse de firmware. Il sert de blueprint technique pour comprendre comment les systèmes d'exploitation de montres connectées sont structurés et exécutés sur du matériel contraint.

Quelles sont les fonctionnalités principales de google/pebble ?

Les fonctionnalités principales de google/pebble sont : Reference Firmware Implementations, Framebuffer Renderers, Embedded System Architectures, Firmware Architectural Analysis, Display Power Optimizations, Input Event Loops, Hardware Abstraction Layers, Event-Driven Input Handlers.

Quelles sont les alternatives open-source à google/pebble ?

Les alternatives open-source à google/pebble incluent : pygame/pygame — Pygame is a framework for building interactive 2D applications and games using the Python programming language. It… floooh/sokol — Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input,… nanopb/nanopb — Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and… tinygo-org/tinygo — TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to… allenwong/30daysofswift — 30DaysofSwift is a structured educational curriculum designed to teach native mobile application development for Apple… contiki-os/contiki — Contiki is an operating system designed for resource-constrained embedded devices and the Internet of Things. It…