|
37181| 3
|
[教程] 跟着思兼学习Klipper(07) STM32F4 主板的真正线刷 Klipper 固件方法 |

STM32F4 主板的真正线刷 Klipper 固件方法前言原创文章,转载引用请务必注明链接,水平有限,如有疏漏,欢迎交流指正。 我们约定: 目前大多数基于 STM32F4 主控芯片的 3D 打印机主板,都是使用 SD 卡来更新固件,两个现状使得这一方法非常不方便:
那么有没有办法像基于
而 Fly Gemini 的 SD 卡槽使用 SDIO 协议,Klipper 无法操作,所以也就无法使用这种方法了。但是由于我最近调试该主板,需要经常重刷固件,所以频繁插拔 SD 卡,简直要了懒人的命了,有没有简单的方法么?也是有的,而且该方法通用常见的 STM32F4 主板。 注意:使用 HID-Bootloader 后,原来的 SD 卡刷方式会失效,建议保存原来的 Bootloader 后执行此操作。 请大家在此之前阅读官方文档 Bootlaoders 和我的文章 一、二、三,通读即可,了解下 3.3v serial 烧录。 精简版0x01 烧录 HID-Bootloader置高 BOOT0,置低 BOOT1,按下 Reset 键进入 3.3v serial 烧写模式,具体参考之前的 Fly-Gemini 硬件简明使用手册 。也可以使用 Windows 烧写。
注意:
0x02 首次烧录 Klipper 固件注意使用该 BL 时,编译选项中
8位拨码开关的 [3+4] 置于on(使 MPU 与 MCU 通过 USB 相连),置低 BOOT0,置高 BOOT1,按下 Reset 键进入 BL。
至此首次烧录成功,boot1置低即可,reset 进入 klipper 固件。 0x03 日常升级固件过程按上图配置编译好固件,此时主板内已经有旧版本的 Klipper,
整个流程和 探索版1、修改移植 HID-Bootloader 并启动失败我们需要修改 HID-Bootloader 以适配 Fly-Gemini,我们观察其原理图,其中
主要修改定义文件
保存并编译,bin 文件位于
使用 3.3v serial 烧入主板,重置后:
系统错误?lib-usb版本错误?编译选项错误?接口连接方式错误(拨码、直连)?以上皆尝试无果,最后找到解决方法:
我目前的系统是 Armbian Buster,默认 gcc 版本为 gcc-8,需要使用 gcc-6 编译,包含在 2、使用 gcc-6 重新编译 HID Bootloader好在 Raspbian Buster 内置源包括 gcc6,直接安装即可,省去手动下载安装设置环境变量了。但是为了避免和系统已安装的 gcc8 冲突,我们需要使用
如此这番,重新编译 BL,烧录后正常使用。
参考文档:
3、hidflash 烧录权限问题直接使用
不过一般使用 kiauh 助手就行了,会自动添加 sudo。 |
pATAq 发表于 2023-4-29 14:06 谢谢,不是klipper固件问题,因为hid bootloader在没有烧录klipper固件会自动打开usb功能, 现在已经解决了,是上位机的问题,换了个debina安装包好了. 但是我发现stm32f103的hid bootloader烧录进gd32f303无法正常找到usb设备.但stm32f103用起来就正常.另外发现kiauh脚本用build+Flash会报make rule错误,好像是make时切换目录有问题,不过手动用hidflash升级固件正常. |
萌萌哒新人
活跃会员
宣传大使
版主限定
牛X认证
老版主限定
创作达人
小蘑菇
编辑选择奖
ARD DAY
编辑选择奖
摸鱼团员
编辑选择奖
志“童”道合
编辑选择奖
编辑选择奖
编辑选择奖
沪公网安备31011502402448© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed