Найти в Дзене
Михаил Девятков

Обновление BIGTREETECH EBB36/42 по CAN и SKR по SSH

Оглавление
BIGTREETECH EBB36/42
BIGTREETECH EBB36/42

Обновление EBB36/42 по CAN

При каждом обновлении Klipper необходимо обновлять прошивку в MCU, можно это делать так как делали тут, но это слишком много движений. Подготовим наш MCU EBB для прошивки через CAN.

оригинальная инструкция

Загружаем CanBoot и собираем прошивку для загрузчика:

git clone https://github.com/Arksine/CanBoot
cd CanBoot
make menuconfig

Выбираем свой микроконтроллер Microcontroller Architecture (STM32G0B1)
make, Clock Reference (8 MHz crystal), Communication interface (CAN bus (on PB0/PB1), если подключение по USB - USB (on PA11/PA12)), CAN bus speed (250000). Это параметры для моей версии платы, если у Вас другая, то подставляем свои (есть в мануале на плату). Жмем Q и Y.

Вводим:

make

Получаем прошивку для загрузчика /home/pi/CanBoot/out/canboot.bin. Скачиваем на свой ПК с помощью FileZilla.

FileZilla
FileZilla

Прошиваем микроконтроллер с помощью STM32CubeProgrammer, подробно есть в этой публикации, но предварительно стираем всю память

Собираем прошивку, так как собирали тут, указав загрузчик «8KiB»

cd ~/klipper
make clean
make menuconfig

Узнаем UUID у загрузчика:

cd
cd CanBoot
python3 scripts/flash_can.py -i can0 -q
CanBoot
CanBoot

Загружаем прошивку через can, подставив свой UUID:

python3 scripts/flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u 7925657ba371

Перезагружаем klipper. Теперь не нужно каждое обновление доставать провод, переводить плату в режим прошивки и запускать STM32CubeProgrammer. Обновляемся двумя командами.

Загрузчик CanBoot в настоящее время поддерживает загрузку прошивок в микроконтроллеры lpc176x, stm32 и rp2040 через UART и USB. Но для перевода в режим прошивки lpc176x необходимо на плате замкнуть контакты. В общем смысл теряется, все равно нужно лезть к плате MCU, мне проще карту достать. Есть другой способ прошивки не доставая карты SD.

Обновление MCU SKR 1.4 (lpc176x) не доставая SD карты

Оригинальная инструкция

Необходимый скрипт устанавливается с klipper, нужно только научиться им пользоваться.

Посмотрим список поддерживаемых плат:

./scripts/flash-sdcard.sh -l
flash-sdcard.sh
flash-sdcard.sh

Собираем прошивку.

sudo service klipper stop
cd ~/klipper
make clean
make menuconfig
make

Можно посмотреть версию прошивки в разделе "Система" Fluidd. В данный момент прошивка MCU EBB новее

Fluidd
Fluidd

Далее смотрим в printer.cfg раздел [mcu] строчку serial:, копируем что-то похожее на: /dev/ttyAMA0 (при подключении UART) или serial: /dev/serial/by-id/usb-Klipper_lpc1769_0230001125813AAFFCCC6B5CC22000F5-if00 (при подключении USB)

Fluidd
Fluidd

Запускаем скрипт, поставив свои значения:

./scripts/flash-sdcard.sh /dev/ttyAMA0 btt-skr-turbo-v1.4

или

./scripts/flash-sdcard.sh /dev/serial/by-id/usb-Klipper_lpc1769_0230001125813AAFFCCC6B5CC22000F5-if00 btt-skr-turbo-v1.4
flash-sdcard.sh
flash-sdcard.sh
sudo service klipper start

Смотрим версию прошивки в разделе "Система" Fluidd. Прошивка обновилась

Fluidd
Fluidd

Приведенные выше команды предполагают, что ваш MCU подключается со скоростью передачи по умолчанию 250000 бод, а прошивка расположена по адресу ~/klipper/out/klipper.bin. Скрипт flash-sdcard.sh подставляет опции для этих значений по умолчанию. Все параметры можно просмотреть на экране справки:

./scripts/flash-sdcard.sh -h
flash-sdcard.sh
flash-sdcard.sh

Если ваша плата прошита прошивкой, которая подключается с пользовательской скоростью передачи данных, ее нужно указать, указав -b опцию:

./scripts/flash-sdcard.sh -b 115200 /dev/ttyAMA0 btt-skr-v1.3
  • Этот метод работает только для обновления прошивки. Первоначальная прошивка выполняется с помощью SD карты или в соответствии с инструкциями к вашей плате MCU.
  • Можно загрузить прошивку, которая изменяет скорость передачи данных или интерфейс подключения (например, с USB на UART), но повторно klipper не установит соединение с MCU до внесения изменений в printer.cfg и соответствующего подключения.

Спасибо, что дочитали до конца.

Также что б ни чего не пропустить подписывайтесь на этот канал, на мое сообщество ВК и канал Telegram
https://vk.com/cncand3d
https://t.me/cncand3d