Programmation du microprogramme CAN via un pont USB
Commencer à compiler
- Il faut utiliser un ordinateur hôte ayant installé le service
klipper
Se connecter en SSH via le réseau - Et connecter l'appareil à l'ordinateur hôte
- Remarque : veuillez utiliser un ordinateur hôte normal, comme Raspberry Pi FLY, etc. Si c'est un ordinateur hôte modifié (comme une baguette WiFi, Xiaomi Mi, etc.), cet ordinateur hôte présente trop de problèmes et ne pourra pas être soutenu.
- Remarques sur le système FlyOS-Armbian et les systèmes normaux
- Remarques sur le système FlyOS-FAST
- Remarques sur le système FlyOS-Armbian et les systèmes normaux
- Les systèmes d'ordinateurs hôtes normaux tels que Raspberry Pi, FLY, etc., appartiennent à cette catégorie
- Ces ordinateurs hôtes ne doivent pas utiliser l'utilisateur
ROOT
pour effectuer tout type d'opération - Veuillez utiliser un utilisateur normal
- Méthode de changement d'utilisateur : pour le système FlyOS-Armbian, utilisez la commande
su fly
pour basculer vers l'utilisateur normal - Pour les autres systèmes, utilisez la commande
su <votre nom d'utilisateur de l'ordinateur hôte>
pour basculer vers l'utilisateur normal
su <votre nom d'utilisateur de l'ordinateur hôte>
- Remarques sur le système FlyOS-FAST
- Le nom d'utilisateur par défaut du système FAST est
root
, le mot de passe estmellow
- La compilation des microprogrammes ne peut être effectuée qu'avec l'utilisateur
root
- De plus, le système FAST n'a qu'un seul utilisateur
ROOT
, vous n'avez pas besoin de changer d'utilisateur !!!
- Le nom d'utilisateur par défaut du système FAST est
- Assurez-vous que l'hôte peut se connecter normalement à Internet
- Avant de compiler le firmware, vous devez utiliser SSH pour vous connecter à distance via le réseau à l'hôte
- Veuillez ne pas utiliser d'outil de terminal série pour vous connecter à l'hôte
Instructions d'utilisation pour la compilation et la configuration du firmware Klipper
Assurez-vous que le mode de saisie du clavier est en mode demi-largeur, c'est-à-dire en mode anglais
- La touche
↑
(haut) et la touche↓
(bas) du clavier sont utilisées pour déplacer le curseur verticalement afin de sélectionner les éléments du menu - La touche
Entrée
ou la toucheEspace
est utilisée pour cocher une option de menu ou entrer dans un sous-menu - La touche
Échap
est utilisée pour revenir au menu précédent - La touche
Q
permet de quitter la page de configuration du firmware Klipper - La touche
Y
, lorsqu'on quitte la page de configuration du firmware Klipper et qu'une invite apparaît, appuyez surY
pour enregistrer le fichier de configuration
Si le nombre d'options de la page de configuration est limité, activez d'abord [ ] Activer les options de configuration de niveau inférieur supplémentaires
pour afficher certaines options masquées
Voici la procédure pour compiler le firmware :
-
Connectez-vous via SSH puis entrez la commande suivante et appuyez sur Entrée :
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
-
Parmi les commandes
rm -rf ~/klipper/.config && rm -rf ~/klipper/out
supprime les données de compilation précédentes et le firmwaremake menuconfig
compile le firmware, après quoi l'interface suivante devrait apparaître -
Sélectionnez Activer les options de configuration de bas niveau supplémentaires et appuyez sur Entrée
-
Allez dans le menu Micro-contrôleur Architecture puis sélectionnez STMicroelectronics STM32 et appuyez sur Entrée
-
Allez dans le menu Modèle de processeur, sélectionnez STM32H723 et appuyez sur Entrée
-
Sélectionnez Décalage du bootloader, choisissez : 128KiB bootloader
-
Sélectionnez Référence d'horloge (cristal de 8 MHz), choisissez : cristal de 25 MHz
-
Sélectionnez Interface de communication, choisissez : Pont USB vers bus CAN (USB sur PA11/PA12)
- Appuyez sur la touche
Q
, vous verrez Save configuration, appuyez ensuite surY
- Vous devriez maintenant avoir enregistré la configuration et être retourné à l'interface de ligne de commande
- Entrez la commande suivante pour commencer la compilation, cela prendra un certain temps
make -j4

-
Lorsque vous voyez le message suivant, la compilation est réussie
Linking out/klipper.elf
Creating hex file out/klipper.bin
Vérifier si le mode de programmation est actif
- Connectez la carte mère à l'ordinateur hôte avec un câble TypeC, puis appuyez deux fois sur le bouton reset, à ce moment-là, les LED de la carte mère clignoteront.
- Si aucune LED ne clignote, réprogrammez le microprogramme katapult : Programmer le microprogramme katapult
- Si aucune LED ne clignote, exécutez la suite des étapes après avoir programmé le microprogramme katapult
Recherche de périphériques
- Maintenant que vous êtes correctement connecté à l'ordinateur hôte, vous pouvez entrer la commande
lsusb
pour rechercher les périphériques. Plusieurs cas peuvent se présenter :- Si la commande
lsusb
affiche un message indiquant quels
est introuvable, vous pouvez installer les utilitaires nécessaires en utilisant la commande suivante :sudo apt-get install usbutils
- Si la commande
lsusb
ne donne aucune réponse, cela indique un problème système pour lequel nous ne pouvons rien faire. Vous devez changer de système ou utiliser un système dont vous savez qu'il fonctionne correctement. - Si vous voyez apparaître les informations comme sur l'image ci-dessous (à titre d'exemple), vérifiez simplement que
1d50:606f
s'affiche bien.
- Si la commande
1d50:606f
est le périphérique que vous devez utiliser lors de cette étape.- S'il y a plusieurs périphériques
1d50:606f
, vous devez en éliminer un, sinon cela affectera le processus d'écriture du firmware et la connexion à ce dernier. Par exemple, si vous avez unFLY MINI PAD
, il est recommandé d'utiliser leUTOC
intégré à la carte et non d'autres périphériques de pontage CAN. - Si aucun périphérique n'apparaît, vérifiez que le câble USB est correctement branché et que le firmware approprié a été gravé.
La recherche de l'ID CAN ne doit être effectuée que lorsque le périphérique 1d50:606f
est détecté.
Programmer le microprogramme
- Une connexion Internet est nécessaire lors de l'installation du plugin de flashage. Veuillez vous assurer que votre ordinateur hôte est correctement connecté à Internet.
- Si l'installation a déjà été effectuée, il n'est pas nécessaire de l'installer à nouveau.
Commencer le flashage
-
Pour les ordinateurs hôtes autres que Fly, veuillez exécuter impérativement la commande ci-dessous afin d'installer les paquets nécessaires au flashage du firmware ! Sinon, le firmware ne pourra pas être flashé !
- Dépôt par défaut
- Dépôt chinois
cd && git clone https://github.com/Arksine/katapult.git
cd && git clone https://gitee.com/MrCakeFuck/katapult.git
-
Utilisez la commande suivante pour rechercher l'ID de votre appareil, l'ID indiqué dans l'image ci-dessous devrait apparaître (Remarque : l'ID indiqué dans l'image est à titre indicatif uniquement, chaque carte mère a un ID différent)
ls /dev/serial/by-id/*
-
Utilisez le code ci-dessous pour flasher le firmware. Veuillez vous assurer que le firmware a été compilé à l'avance. Veuillez remplacer
<votre ID carte mère>
par l'ID obtenu à l'étape précédente.
- Méthode de flashage pour Fly-Armbian et ordinateurs hôtes standards
- Méthode de flashage pour Fly-FAST
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<votre ID carte mère>
python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<votre ID carte mère>
-
Ci-dessous un exemple :
-
Exemple après le flashage :
Mise à jour du firmware
- Mise à jour du firmware USB
- Mise à jour du firmware CAN bridge
-
Utilisez la commande suivante pour rechercher l'ID de votre carte mère. L'ID indiqué dans l'image ci-dessous devrait apparaître (Remarque : l'ID indiqué dans l'image est à titre indicatif uniquement, chaque carte mère a un ID différent)
ls /dev/serial/by-id/*
Dans l'image ci-dessous, /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00
est l'ID de la carte mère.

-
La mise à jour du firmware USB nécessite, après la compilation du dernier firmware, d'entrer la commande suivante pour effectuer la mise à jour. Veuillez remplacer
<votre ID carte mère>
par l'ID obtenu à l'étape précédente.cd ~/klipper/ && make flash FLASH_DEVICE=<votre ID carte mère>
- Pour mettre à jour le firmware CAN bridge USB, après avoir compilé le dernier firmware, entrez la commande suivante pour réinitialiser dans Katapult. (Comme indiqué dans l'image ci-dessous, l'ID affiché est à titre indicatif uniquement, veuillez vous référer à l'ID dans votre fichier de configuration.)
<CANBUS UUID>
est l'UUID CANBUS de la carte mère dans votre fichier de configuration printer.cfg
- Méthode de réinitialisation pour Fly-Armbian et ordinateurs hôtes standards
- Méthode de réinitialisation pour Fly-FAST
- Veuillez remplacer
<votre ID carte mère>
par l'ID obtenu à l'étape précédente~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <CANBUS UUID>
- Veuillez remplacer
<votre ID carte mère>
par l'ID obtenu à l'étape précédentepython3 ~/katapult/scripts/flashtool.py -i can0 -r -u <CANBUS UUID>
- Dans l'image ci-dessous,
f95cee90e1f9
est l'UUID CANBUS de la carte mère.

-
Après avoir réinitialisé dans Katapult, utilisez la commande suivante pour rechercher l'ID de votre carte mère. L'ID indiqué dans l'image ci-dessous devrait apparaître (Remarque : l'ID indiqué dans l'image est à titre indicatif uniquement, chaque carte mère a un ID différent)
ls /dev/serial/by-id/*
Dans l'image ci-dessous, /dev/serial/by-id/usb-Klipper_stm32f072xb_43002C000951324757373520-if00
est l'ID de la carte mère.

-
Veuillez vous assurer que le nouveau firmware a été compilé avant d'effectuer le flashage. Veuillez remplacer
<votre ID carte mère>
par l'ID obtenu à l'étape précédente.cd ~/klipper/ && make flash FLASH_DEVICE=<votre ID carte mère>
Méthode de récupération en cas de mauvais firmware
- Débranchez la carte mère, puis la rebrancher, et appuyez rapidement deux fois sur le bouton de réinitialisation pour revenir au mode de flashage.
- Ou utilisez un ordinateur sous Windows/ordinateur hôte pour reflasher le firmware Katapult Flasher le firmware Katapult