Compilation du firmware USB
Début de la compilation
- Il est nécessaire d'utiliser un ordinateur hôte avec le service
klipper
installé Connectez-vous via SSH par réseau - Et connectez l'appareil à l'ordinateur hôte
- Remarque : Utilisez un ordinateur hôte standard, comme un Raspberry Pi ou un FLY Pi. Pour les ordinateurs hôtes modifiés, nous ne pouvons pas fournir beaucoup d'aide en raison de trop de problèmes
- Veuillez ne pas utiliser l'utilisateur
ROOT
- 请确保上位机可以正常联网
- 固件编译前需要使用SSH通过网络登录上位机
- 请不要使用串口工具登录上位机
Klipper固件编译配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑
,下键↓
,用于上下移动光标来选中菜单项 - 确认键
Enter
或 空格键Space
,用于勾选菜单或进入子菜单 - 退出键
ESC
,用于返回上一级菜单 Q
键,用于退出Klipper固件配置页面Y
键,在退出Klipper固件配置页面时,如果有提示,则点击Y
键保存配置文件
如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options
,用于显示部分隐藏选项
Voici comment compiler le firmware :
-
Connectez-vous à SSH et entrez la commande suivante, puis appuyez sur Entrée :
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
-
Dans cette commande,
rm -rf ~/klipper/.config && rm -rf ~/klipper/out
supprime les données et le firmware précédemment compilés, tandis quemake menuconfig
compile le firmware. Après exécution, vous devriez voir l'écran ci-dessous : -
Sélectionnez Enable extra low-level configuration options et appuyez sur Entrée.
-
Entrez dans le menu Micro-controller Architecture puis sélectionnez Raspberry Pi RP2040 et appuyez sur Entrée.
-
Sélectionnez Bootloader offset, choisissez : 16KiB bootloader
-
Communication interface, choisissez : USBSERIAL
- Appuyez sur la touche
Q
, lorsque Save configuration apparaît, appuyez ensuite sur la toucheY
- La configuration devrait maintenant être sauvegardée et vous devriez être de retour à l'interface de ligne de commande
- Entrez
make -j4
pour commencer la compilation, cela peut prendre un certain temps
-
Si la sortie suivante apparaît, la compilation est réussie
Linking out/klipper.elf
Creating hex file out/klipper.bin
Recherche de l'appareil
-
Assurez-vous que l'ordinateur hôte peut se connecter à Internet
-
Assurez-vous que le câble de données reliant l'ordinateur hôte à l'ordinateur cible est fonctionnel pour la transmission de données
-
Après avoir établi une connexion SSH à l'ordinateur hôte, tapez
lsusb
et appuyez sur Entrée, les situations suivantes peuvent se produire :- Afficher les périphériques USB reconnus
- Afficher un message indiquant que la commande
ls
n'existe pas, vous pouvez exécuter cette commande pour l'installer :sudo apt-get install usbutils
- Aucune erreur ou autre information n'est affichée (il s'agit d'un problème système nécessitant un changement de système)
-
Si après avoir entré
lsusb
aucune réaction ne se produit, il s'agit d'un problème système sur lequel nous ne pouvons rien faire, vous devez changer pour un système fonctionnel -
Si l'information entourée dans l'image ci-dessous apparaît, vous pouvez passer à l'étape suivante
-
1d50:6177
est l'identifiant de l'appareil que vous allez utiliser. Ignorez les autres indications car des problèmes système peuvent entraîner une affichage incomplet ou absent -
Si ce n'est pas le cas, vérifiez par vous-même si le câble de données est bien connecté ou si la carte mère est en mode Katapult (anciennement connu sous le nom de CANBOOT)
-
Si vous avez déjà utilisé Katapult pour flasher le firmware klipper, consultez la méthode de mise à jour du firmware ci-dessous
AttentionPassez à l'étape suivante uniquement si
1d50:6177
est présent
Flashage du firmware
L'utilisation du firmware Katapult permet de mettre à jour le firmware directement par SSH à l'avenir, sans avoir besoin d'entrer en mode DFU pour flasher le firmware.
Installation du plugin de flashage
Veuillez noter que l'installation du plugin de flashage nécessite que l'hôte soit connecté à Internet. Si le plugin est déjà installé, il n'est pas nécessaire de l'installer à nouveau.
-
Installer
pip install pyserial
pip install pyserial
-
Si l'erreur
-bash: pip: command not found
apparaît, exécutezsudo apt-get install pip
-
Si l'erreur ci-dessous apparaît, exécutez
pip install pyserial --break-system-packages
Début du flashage du firmware
-
Utilisez la commande ci-dessous pour rechercher l'adresse de votre port série
ls /dev/serial/by-id/*
-
Voici une référence
-
Pour flasher le firmware, utilisez le code ci-dessous, assurez-vous que le firmware est déjà compilé, notez qu'il n'y a pas d'espace après
=
-
Veuillez noter que vous devez être dans le répertoire klipper pour flasher le firmware
make flash FLASH_DEVICE=
-
Voici une référence
-
Référence après le flashage
Méthode de mise à jour du firmware
-
Pour mettre à jour le firmware USB, après avoir compilé le dernier firmware, entrez la commande ci-dessous pour la mise à jour, notez qu'il n'y a pas d'espace après
=
make flash FLASH_DEVICE=
-
Pour mettre à jour le firmware USB vers CAN, après avoir compilé le dernier firmware, entrez la commande ci-dessous pour réinitialiser et entrer dans Katapult
-
Notez que cette commande ne peut être exécutée que pour le firmware klipper de l'USB vers CAN, l'exécution sur d'autres firmwares entraînera une erreur
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <MCU ID>
-
Après la réinitialisation dans Katapult, exécutez la mise à jour du firmware avec la commande suivante
make flash FLASH_DEVICE=<votre adresse de port série>
Solution pour résoudre les problèmes de flashage de firmware incorrect
- Débranchez la carte mère, rebranchez-la et cliquez rapidement deux fois sur le bouton de réinitialisation de la carte mère
- Ou utilisez WINDOWS pour nettoyer le firmware et reflasher le BL