Systèmes Embarqués

MicroKernel Bare-Metal RISC-V

Micro-noyau expérimental pour architecture RISC-V 64 bits avec pagination virtuelle et isolation stricte des privilèges.

Rust
RISC-V ASM
QEMU
Paging
IPC
Bare-Metal
Code source
MicroKernel Bare-Metal RISC-V

01 Contexte & Objectifs

Conception d'un micro-noyau minimaliste bare-metal pour processeurs RISC-V (RV64GC). Le noyau applique le principe du moindre privilège : seuls l'ordonnanceur et la gestion de la mémoire physique résident en mode Supervisor, tous les pilotes s'exécutent en espace utilisateur.

02 Spécificités & Défis Techniques

Développement en Rust `#![no_std]` garantissant l absence d indéfinitions mémoire

Mémoire virtuelle paginée 4 niveaux (Sv39) avec protection des pages de code (W^X)

Ordonnanceur préemptif basé sur le timer machine hardware (MTIMECMP)

Mécanisme d IPC synchrone zéro-copie par échange direct de registres CPU

03 Choix d'Architecture

Bootloader

Initialisation en assembleur RISC-V du vecteur d interruptions et passage du mode Machine au mode Supervisor.

Gestionnaire de Pages

Allocateur de mémoire physique par système de blocs binaires (Buddy Allocator).

Syscalls

Points d entrée d appels système sécurisés via l instruction `ecall` avec bascule de contexte atomique.

© 2026 Clément MAHE — Portfoliov1.0.0
Nuxt 3 ·Tailwind CSS·Shadcn-vue·Stockage Local