Cette page explique comment récupérer le code source du noyau Mk et le compiler.
1. Prérequis
La chaîne de compilation repose sur CMake et Ninja. Les outils suivants doivent être installés :
- ✔GNU Arm Embedded Toolchain (version 10.3 préférée) : arm-none-eabi-gcc
- ✔CMake (version 3.20 ou supérieure)
- ✔Ninja
- ✔J-Link (pour la programmation)
2. Récupérer le code
Clonez le dépôt du noyau depuis GitHub :
git clone https://github.com/EmbSoft3/Mk-kernel.git cd Mk-kernel
3. Compiler le noyau
Le projet utilise CMake avec les presets définis dans le fichier CMakePresets.json. Les Presets suivants sont disponibles :
| Preset | Type |
|---|---|
| release | Release (-Ofast) |
| debug | Debug (-O0 -g3) |
La liste exacte des Presets peut être obtenue avec la commande :
cmake --list-presets
La compilation s'effectue en choisissant l'une des lignes ci-dessous. Par exemple, pour une configuration de debug :
cmake --build --preset debug
Si le chemin du compilateur n'est pas trouvé, la variable d'environnement TOOLCHAIN_PATH ou le chemin par défaut présent dans le fichier arm-none-eabi-toolchain.cmake peut être modifié.
4. Résultat de la compilation
La compilation produit deux fichiers dans le dossier de sortie du preset choisi :
- ✔Mk.elf : fichier de programmation avec ou sans symboles.
- ✔Mk.map : fichier d'édition de liens.
5. Programmation et Débogage
Les configurations de débogage pour VS Code sont incluses dans le fichier .vscode/launch.json. L'extension Cortex-Debug est utilisée :
| Configuration | Type | Binaire |
|---|---|---|
| Debug Mk (J-Link) | Debug | build/debug/Mk.elf |
| Release Mk (J-Link) | Release | build/release/Mk.elf |
Toutes les configurations nécessitent une sonde J-Link (ou un ST-Link reflashé avec un firmware J-Link) : ST-Link Reflash Utility.