Aller au contenu principal

Flashage du firmware USB-CAN

Commencer la compilation

  • Un ordinateur hôte avec le service « klipper » installé est nécessaire. Connexion SSH via le réseau
  • Et le périphérique doit être bien connecté à l'ordinateur hôte.
  • Remarque : Veuillez utiliser un ordinateur hôte ordinaire, tels que Raspberry Pi, FLY Pi, etc. Si c'est un ordinateur hôte modifié (par exemple, WiFi Stick, Redmi, etc.), ce type d'ordinateur hôte pose trop de problèmes et nous ne pouvons pas vous fournir de support technique.
Remarques importantes
  • Veuillez ne pas utiliser l'utilisateur « ROOT ».
  • Commande pour changer d'utilisateur
su fly
prompt
  • 请确保上位机可以正常联网
  • 固件编译前需要使用SSH通过网络登录上位机
  • 请不要使用串口工具登录上位机

Klipper固件编译和配置页面操作说明

prompt

请确保键盘输入法为半角模式,即英文模式

  1. 键盘上键,下键,用于上下移动光标来选中菜单项
  2. 确认键Enter 或 空格键Space,用于勾选菜单或进入子菜单
  3. 退出键ESC,用于返回上一级菜单
  4. Q键,用于退出Klipper固件配置页面
  5. Y键,在退出Klipper固件配置页面时,如果有提示,则点击Y键保存配置文件
note

如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options,用于显示部分隐藏选项

Voici comment compiler le firmware :

  • Après vous être connecté en SSH, entrez la commande suivante et appuyez sur Entrée :

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • La commande rm -rf ~/klipper/.config && rm -rf ~/klipper/out supprime les données de compilation précédentes et le firmware, make menuconfig compile le firmware, après exécution, vous devriez voir l'interface 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 STMicroelectronics STM32 et appuyez sur Entrée

  • Entrez dans le menu Processor model, sélectionnez STM32H723 et appuyez sur Entrée

  • Sélectionnez Bootloader offset, choisissez : 128KiB bootloader

  • Sélectionnez Clock Reference (8 MHz crystal), choisissez : 25 MHz crystal

  • Sélectionnez Communication interface, choisissez : USB to CAN bus bridge (USB on PA11/PA12)

  • Appuyez sur la touche Q, une fois que Save configuration apparaît, appuyez ensuite sur la touche Y

  • La configuration devrait maintenant être sauvegardée et vous devriez revenir à l'interface de ligne de commande

  • Entrez make -j4 pour commencer la compilation, cela peut prendre un certain temps

  • Si la compilation est réussie, le résultat final affichera :

    Linking out/klipper.elf
    Creating hex file out/klipper.bin

Vérifier si le mode flashage est activé

  • Veuillez vous assurer que l'ordinateur hôte peut se connecter normalement à Internet et que le câble de données reliant l'ordinateur hôte à l'ordinateur esclave a une fonction de transmission de données.
  • Après vous être connecté à l'ordinateur hôte via SSH, entrez lsusb et appuyez sur Entrée. Si les informations entourées sur l'image ci-dessous apparaissent, vous pouvez passer à l'étape suivante.
    • Si aucune information n'est renvoyée, c'est un problème du système de l'ordinateur hôte. Nous sommes impuissants. Vous devez changer le système pour s'assurer qu'il est normal ou changer l'ordinateur hôte.
    • Si un message indique qu'il n'y a pas d'instruction lsusb, vous pouvez exécuter cette commande pour l'installer
      sudo apt-get install usbutils
  • 1d50:6177 appartient à l'équipement que vous devez utiliser cette fois. Le suffixe OpenMoko, Inc. stm32f407xx a une certaine valeur de référence, mais n'est pas utilisé comme critère de jugement.
    • Certains ordinateurs hôtes peuvent, en raison de problèmes de système, ne pas afficher complètement ou ne pas afficher du tout.
    • Si l'entrée de l'instruction lsusb peut afficher l'équipement, mais n'a pas 1d50:6177, veuillez essayer de changer le câble de données et d'essayer de connecter la carte mère à un autre port USB de l'ordinateur hôte.
  • Si vous avez déjà effectué les étapes précédentes et avez réussi à graver le micrologiciel Klipper, et que la carte mère fonctionne normalement, mais que vous voulez simplement mettre à jour le micrologiciel Klipper, veuillez consulter directement le chapitre Mise à jour du micrologiciel dans le menu latéral droit de cette page.
Remarques

Vous ne pouvez passer à l'étape suivante que si 1d50:6177 est présent.

Flasher le firmware

prompt

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

prompt

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écutez

    sudo 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