ITADN

Adapting for "any" firmware

#172Openthinkyhead 创建于 2025-10-25
T
thinkyheadcommented
I see that BigTreeTech is shipping boards with a (very small) build of Katapult pre-installed, which makes it a little tricky to install other firmware (e.g., Marlin) on the board right out of the box. The user currently has to use ST-Link and Cube Programmer to install the firmware with _no_ bootloader, or download the "SD Card" bootloader for their specific MCU from someplace (e.g., bigtreetech/SKR-3#87) and then flash it onto the board before being able to install `firmware.bin` via the SD Card, as with some other shipping boards. So, it would be pretty great to be able to install other firmware onto the board at the appropriate destination address and have the pre-installed Katapult jump to it after boot. Marlin uses PlatformIO which provides a Python hook for Custom Upload. All we need is to write a wrapper to take the `firmware.bin` from the build and send it over USB from the computer or Raspberry Pi to the board. I'm down to do the research to build it out under PlatformIO, but would appreciate any up-front guidance you can provide, such as what Start Address should be used for the firmware build (BTT documentation suggests `0x08020000`) and whether anything special needs to be done to ensure the interfaces are properly configured on the target board at boot time. The simplest custom upload I can imagine would simply download this repo and run the `flashtool.py` script with the path to `firmware.bin`. Of course I'll give that a try, asap. If it's not possible to invoke any other firmware from Katapult except Klipper without re-flashing the bootloader, that leaves us at square one. Of course, it comes down to how BTT has it configured. The manual they provide with the board presumes that the customer can just do an SD Card install, but that was not the case with the board I purchased. So anything that helps the customer get past the need to buy an ST-Link will be good!
0 条评论