Référentiel de coordination du groupe de travail sur les appareils intégrés (WG)
Ce tracker de numéro de référentiel est utilisé par le WG intégré pour coordonner les efforts pour faire de la rouille un excellent choix pour le développement intégré.
Vous voulez commencer avec le développement intégré avec la rouille? Découvrez notre livre de rouille intégré et le reste de notre étagère.
Vous voulez rester à jour avec les progrès communautaires? Découvrez notre newsletter.
Rejoignez la discussion sur Matrix! # Rust-Embedded: Matrix.org
Qu'est-ce que nous voulons vraiment? À un niveau large:
À un niveau élevé, nous avons deux tâches principales:
Nous travaillons avec la communauté pour améliorer l'écosystème intégré.
Nous maintenons et développons des caisses de base dans l'écosystème intégré en garantissant que la feuille de route de développement s'aligne sur les besoins de ses utilisateurs. Vous pouvez trouver toutes les caisses que nous maintenons dans la section Organisation.
Nous développons et organisons des ressources sur le développement de la rouille intégrée. Vérifiez notre bibliothèque!
Nous maintenons et modérons les lieux utilisés par la communauté intégrée pour discuter. Cela comprend ce référentiel de coordination et notre salle de matrice.
Et, nous servons de pont entre les équipes de rouille et la communauté intégrée.
Tout le monde peut contribuer aux efforts WG intégrés! Il existe plusieurs façons d'aider:
Rejoignez nos réunions hebdomadaires sur Matrix. Nous utilisons ces réunions comme une alternative synchrone plus rapide et synchrone aux threads RFC sur GitHub. L'ordre du jour est affiché dans la chaîne matricielle à l'avance à la réunion. Tout le monde est libre de rejoindre la réunion et de partager ses réflexions. Vous pouvez également nommer un fil GH existant pour la discussion si vous pensez qu'il bénéficierait d'une discussion plus synchrone. L'heure de réunion habituelle est le mardi, à 20 h CET / CEST.
Nous avons plusieurs équipes axées sur différents domaines: l'outillage, les caisses Cortex-M, etc. et chaque équipe maintient plusieurs projets (caisses, documents et / ou outils) qui vivent sous l'organisation à rouille. Vous pouvez collaborer avec la maintenance et le développement de ces projets en devenant collaborateur de projet (consultez l'équipe propriétaire du projet) ou en rejoignant l'équipe.
Le WG est composé de plusieurs équipes dont les fonctions sont définies dans RFC # 136. Le WG intégré développe et maintient un grand ensemble de projets sous l'organisation enracinée. Cette section répertorie toutes les équipes et tous les projets détenus par le WG.
Les fonctions de l'équipe de base sont:
core
de l'API) aux équipes de rouille.L'équipe Cortex-A développe et maintient le cœur de l'écosystème Cortex-A Crate.
Projets entretenus par cette équipe.
aarch64-cpu
rust-raspberrypi-OS-tutorials
L'équipe Cortex-M développe et maintient le cœur de l'écosystème Cortex-M Crate.
Projets entretenus par cette équipe.
cortex-m-quickstart
cortex-m-rt
cortex-m-semihosting
cortex-m
itm
panic-itm
panic-semihosting
L'équipe Cortex-R développe et maintient le cœur de l'écosystème Cortex-R Crate.
Cette équipe est actuellement vide! Veuillez nous contacter via un problème ou le chat matriciel si vous souhaitez aider à maintenir les caisses Cortex-R.
arm-dcc
cortex-r
panic-dcc
L'équipe Linux intégrée développe et maintient le noyau de l'écosystème de caisse Linux intégré.
Projets entretenus par l'équipe Linux intégrée
gpio-cdev
gpio-utils
i2cdev
linux-embedded-hal
meta-rust-bin
spidev
sysfs-gpio
sysfs-pwm
L'équipe HAL développe et maintient des caisses contenant des traits partagés et du code connexe qui permet le développement de couches d'abstraction matérielle et de pilotes qui peuvent interagir sur tous les appareils de rouille intégrés sur toutes les architectures.
Projets entretenus par l'équipe HAL.
embedded-dma
embedded-hal
nb
critical-section
L'équipe d'infrastructure gère nos domaines, dossiers DNS, alias électroniques, etc.
Projets entretenus par cette équipe
rust-embedded-provisioning
L'équipe LIBS gère le code de bibliothèque qui n'est pas spécifique à l'architecture.
Projets entretenus par cette équipe
embedded-alloc
heapless
qemu-exit
volatile-register
L'équipe MS430 développe et maintient le cœur de l'écosystème Crate MSP430.
Projets entretenus par cette équipe
msp430-quickstart
msp430-rt
msp430
L'équipe RISC-V développe et maintient le cœur de l'écosystème RISC-V Crate.
Projets entretenus par cette équipe
riscv-rust-quickstart
riscv-pac
riscv-rt
riscv-semihosting
riscv
L'équipe des ressources développe, maintient et conserve la documentation, les livres, nos comptes et sites Web de médias sociaux, et des ressources similaires sur la rouille intégrée.
Projets entretenus par l'équipe Resources
L'équipe d'outils maintient et développe des logiciels pour le développement intégré qui s'exécute généralement sur votre machine de développement plutôt que sur les cibles intégrées elles-mêmes.
Projets entretenus par l'équipe d'outils
cargo-binutils
itm
svd-parser
svd2rust
L'équipe de triage est chargée de maintenir les files d'attente de relations publiques; Ils s'assurent qu'aucun PR n'est laissé sans surveillance.
Les anciens suivants se sont mis dans l'état d'hibernation, en raison de leur absence ou de l'occupation pendant un temps prolongé. Voir Ops / Hibernating.md.
Chaque équipe peut être contactée en privé via les adresses e-mail suivantes:
Vous pouvez généralement trouver les membres de la WG intégrée sur la salle de matrice intégrée de rouille (# Rust-Embedded: Matrix.org).
Notre salle matricielle est enregistrée sur le canal IRC ponté, et vous pouvez trouver les journaux à: https://libera.irclog.whitequark.org/rust-embedded/
Ce sont d'autres projets qui pourraient être intéressés, mais qui (actuellement) ne sont pas détenus par le WG.
Plusieurs communautés spécifiques à des appareils existent qui ne font pas partie du groupe de travail. Ces communautés maintiennent des caisses pour l'accès périphérique, l'abstraction matérielle, les exemples, etc. qui sont spécifiques à une famille particulière d'appareils. La liste ci-dessous n'est pas exhaustive et sera mise à jour à mesure que la prise en charge de l'appareil augmente.
embedded-hal
embedded-hal
est un projet qui vise à construire un ensemble standard de traits (interfaces) pour la fonctionnalité d'E / S courants dans les dispositifs intégrés: série, I2C, etc. dans le but de servir de base pour construire des caisses de conducteur réutilisables, des caisses à Interface avec des composants externes comme les capteurs.
Il y a beaucoup de traits qui doivent encore être conçus, en particulier ceux qui impliquent des E / S asynchrones. Rejoignez la discussion et aidez-nous à concevoir les traits manquants afin qu'ils répondent à vos besoins.
Pour mettre le embedded-hal
à tester et pour étendre l'écosystème de caisses intégrées.io, nous exécutons l'initiative hebdomadaire Driver. L'objectif est de publier une nouvelle caisse de conducteur no_std
, générique et embedded-hal
toutes les semaines.
Il y a beaucoup d'appareils sympas qui seraient formidables pour avoir des conducteurs. Rejoignez l'initiative et aidez-nous à développer l'écosystème de caisses intégrées.
La communauté construit une liste organisée de caisses utiles pour le développement intégré. Dans cette liste, vous trouverez des caisses de conducteur, des caisses de support du conseil d'administration et des caisses non-STD à usage général. Aidez-nous à améliorer cette liste en ajoutant votre caisse via PR ou en s'attaquant à nos problèmes de recherche d'aide.
En tant qu'expérience, le Forum utilisateur de Rust Lang a gagné une nouvelle catégorie embedded
.
Cela est censé être un échange amical pour toute personne intéressée par des sujets intégrés avec de la rouille.
Donc, si vous souhaitez discuter des idées, des problèmes ou des solutions, n'hésitez pas à participer à des sujets existants ou à en créer un nouveau!
Lorsque l'équipe juge nécessaire, le processus RFC peut être utilisé pour prendre des décisions ou pour concevoir des processus, des interfaces utilisateur, des API, etc.
En savoir plus sur le processus RFC de Rust (qui est le même que le nôtre) ici.
Pour créer un RFC, simplement:
0000-template.md
à text/0000-my-feature.md
(où "My-Feature" est descriptif. N'attribuez pas encore un numéro RFC)