Katapult 项目使用教程
1. 项目介绍
Katapult(原名 CanBoot)是一个为 ARM Cortex-M 微控制器设计的可配置引导加载程序。最初设计用于与 Klipper 一起使用的 CAN 节点,Katapult 利用了 Klipper 的硬件抽象层,并将其精简以保持最小的占用空间。除了 CAN 接口,Katapult 现在还支持 USB 和 UART 接口。目前支持的微控制器包括 lpc176x、stm32 和 rp2040。CAN 支持目前仅限于 stm32 F 系列和 rp2040 设备。
Katapult 是基于 GNU GPL v3 许可证发布的。
2. 项目快速启动
2.1 克隆项目
首先,克隆 Katapult 项目到本地:
git clone https://github.com/Arksine/katapult.git
cd katapult
2.2 配置和构建
使用 menuconfig 配置 Katapult:
make menuconfig
在 menuconfig 中,您可以配置以下选项:
- Microcontroller Architecture: 选择 lpc176x、stm32 或 rp2040。
- Processor model: 根据所选架构选择处理器型号。
- Build Katapult deployment application: 参见下面的部署器部分。
- Disable SWD at startup: 这是 GigaDevice STM32F103 克隆的选项。
- Clock Reference: 选择适合您板子的晶振设置。
- Communication interface: 选择 CAN、USB 或 UART。
- CAN bus speed: 选择适合您的 CAN 总线速度。
- Baud rate for serial port: 选择适合您的串行设备的波特率。
- USB ids: 允许用户定义 USB 供应商 ID、产品 ID 和/或序列号。
- Support bootloader entry on rapid double click of reset button: 启用后,可以通过在 500ms 内按两次复位按钮进入引导加载程序。
- Enable bootloader entry on button (or gpio) state: 启用使用 GPIO 进入引导加载程序。
- Button GPIO Pin: 按钮的 GPIO 引脚名称。
- Enable Status Led: 启用状态 LED 选项。
- Status LED GPIO Pin: 状态 LED 的引脚名称。
配置完成后,构建 Katapult:
make
2.3 烧录 Katapult
使用编程器(如 ST-Link)烧录 Katapult。如果没有编程器,可以通过 UART 烧录 STM32F103 设备,或通过 DFU 烧录 STM32F042/72 设备。
# 使用 ST-Link 烧录
st-flash write katapult.bin 0x8000000
3. 应用案例和最佳实践
3.1 与 Klipper 集成
Katapult 主要用于与 Klipper 集成,作为 Klipper 的引导加载程序。通过 Katapult,用户可以轻松更新 Klipper 固件,而无需使用外部编程器。
3.2 使用 Katapult 部署器
Katapult 部署器允许用户在不使用编程器的情况下更新引导加载程序。确保在部署之前正确配置 Katapult,以避免设备变砖。
# 使用部署器
make deploy
4. 典型生态项目
4.1 Klipper
Klipper 是一个用于 3D 打印机的开源固件,Katapult 作为其引导加载程序,提供了灵活的固件更新机制。
4.2 CAN 总线
Katapult 支持 CAN 总线接口,使其适用于需要 CAN 通信的嵌入式系统。
4.3 USB 和 UART
除了 CAN,Katapult 还支持 USB 和 UART 接口,使其适用于更广泛的嵌入式设备。
通过以上步骤,您可以快速上手 Katapult 项目,并将其应用于各种嵌入式系统中。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



