Прошивка мостового CAN-контроллера через USB
Начало компиляции
- Необходимо использовать хост-компьютер с установленной услугой
klipper
Подключиться к SSH через сеть - И подключить устройство к хост-компьютеру.
- Внимание: Пожалуйста, используйте обычный хост-компьютер, такой как Raspberry Pi, FLY Pi и т. д. Если это модифицированный хост-компьютер (например, WiFi-стержень, Redmi и т. д.), то из-за слишком многих проблем с такими хост-компьютерами мы не можем предоставить вам техническую поддержку.
- Пожалуйста, не используйте пользователя
ROOT
.
- Команда для смены пользователя
su fly
- 请确保上位机可以正常联网
- 固件编译前需要使用SSH通过网络登录上位机
- 请不要使用串口工具登录上位机
Klipper固件编译和配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑
,下键↓
,用于上下移动光标来选中菜单项 - 确认键
Enter
或 空格键Space
,用于勾选菜单或进入子菜单 - 退出键
ESC
,用于返回上一级菜单 Q
键,用于退出Klipper固件配置页面Y
键,在退出Klipper固件配置页面时,如果有提示,则点击Y
键保存配置文件
如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options
,用于显示部分隐藏选项
Вот как скомпилировать прошивку:
-
Подключившись к SSH, введите следующие команды и нажмите Enter:
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
-
Здесь
rm -rf ~/klipper/.config && rm -rf ~/klipper/out
удаляет предыдущие данные компиляции и прошивку,make menuconfig
компилирует прошивку, после выполнения должно появиться окно ниже -
Выберите Включить дополнительные низкоуровневые настройки и нажмите Enter
-
Войдите в меню Архитектура микроконтроллера, затем выберите STMicroelectronics STM32 и нажмите Enter
-
Войдите в меню Модель процессора, выберите STM32H723 и нажмите Enter
-
Выберите Смещение загрузчика, выберите: загрузчик на 128КБ
-
Выберите Ссылка на тактовую частоту (кристалл 8 МГц), выберите: кристалл 25 МГц
-
Выберите Интерфейс связи, выберите: мост USB в CAN-шину (USB на PA11/PA12)
-
Нажмите клавишу
Q
, появится Save configuration, затем нажмите клавишуY
-
Теперь конфигурация должна быть сохранена и вы должны вернуться в командную строку
-
Введите
make -j4
для начала компиляции, это займет некоторое время -
Если в конце выводятся следующие строки, значит компиляция прошла успешно
Linking out/klipper.elf
Creating hex file out/klipper.bin
Подтверждение режима прошивки
- Проследите, чтобы верхний компьютер мог нормально подключаться к сети, и убедитесь, что кабель данных, соединяющий нижний компьютер с верхним, обладает функцией передачи данных.
- После подключения к верхнему компьютеру через SSH введите
lsusb
и нажмите Enter. Если появится информация, обведенная на картинке ниже, можно переходить к следующему шагу.- Если нет никаких откликов, это проблема системы верхнего компьютера, и мы ничего не можем сделать. Вам нужно заменить систему, которая точно работает нормально, или заменить верхний компьютер.
- Если появляется подсказка, что команды
lsusb
нет, можно выполнить эту команду для установки:sudo apt-get install usbutils
1d50:6177
относится к устройству, которое вам нужно использовать в этой ситуации. СуффиксOpenMoko, Inc. stm32f407xx
имеет определенную справочную ценность, но не является основанием для суждения.- Некоторые верхние компьютеры могут из-за проблем с системой отображать неполную информацию или вообще не отображать.
- Если при вводе команды
lsusb
устройство отображается, но нет1d50:6177
, попробуйте заменить кабель данных и попытаться подключить материнскую плату к другому USB-порту верхнего компьютера.
- Если вы ранее выполнили вышеуказанные шаги и успешно записали прошивку Klipper, материнская плата работает нормально, и вам нужно только обновить прошивку Klipper, то сразу посмотрите раздел
Обновление прошивки
в правом меню на этой странице.
Можно переходить к следующему шагу только при наличии 1d50:6177
.
Прошивка
Использование прошивки Katapult позволяет в будущем легко обновлять прошивку через SSH, без необходимости входить в режим DFU для прошивки.
Установка плагина для прошивки
Обратите внимание, что для установки плагина прошивки требуется, чтобы верхний компьютер был подключен к сети. Если плагин уже установлен, повторная установка не требуется.
-
Установите
pip install pyserial
pip install pyserial
-
Если появляется сообщение
-bash: pip: command not found
, выполнитеsudo apt-get install pip
-
Если появляется ошибка, как показано ниже, выполните
pip install pyserial --break-system-packages
Начало прошивки
-
Используйте команду ниже для поиска адреса вашего устройства
ls /dev/serial/by-id/*
-
Вот пример
-
Для прошивки используйте код ниже, убедитесь, что прошивка уже скомпилирована, обратите внимание, что после
=
нет пробела -
Обратите внимание, что прошивка возможна только в каталоге klipper
make flash FLASH_DEVICE=
-
Вот пример
-
Пример завершения прошивки
Метод обновления прошивки
-
Для обновления прошивки USB, после компиляции последней версии, введите команду ниже для обновления, обратите внимание, что после
=
нет пробелаmake flash FLASH_DEVICE=
-
Для обновления прошивки USB моста CAN после компиляции последней версии введите команду ниже для сброса в Katapult
-
Обратите внимание, что эта команда применима только к прошивке Klipper для USB моста CAN, другие прошивки вызовут ошибку
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <MCU ID>
-
После сброса в Katapult выполните обновление прошивки
make flash FLASH_DEVICE=<адрес вашего устройства>
Решение проблемы при прошивке неверной прошивки
- Отключите питание платы, затем быстро дважды нажмите кнопку сброса после включения питания
- Или используйте WINDOWS для очистки прошивки и повторной установки BL