Hi All,
Have Klipper running (used kiauh), compiled and tried some settings, but Snapmaker MCU not wanting to flash the klipper.bin (renamed Update.Bin).
The Original Snapmaker Firmware showed (Binary Ninja):
\x00 Snapmaker_2019-05-30-1220
and from that address untill 0x0800 just 0x00
and then the code starts.
Any pointers?
Regards
Bert
PS.
Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) —>
Processor model (STM32F103) —>
Only 10KiB of RAM (for rare stm32f103x6 variant)
Disable SWD at startup (for GigaDevice stm32f103 clones)
Bootloader offset (2KiB bootloader (HID Bootloader)) —>
Clock Reference (16 MHz crystal) —>
Communication interface (USB (on PA11/PA12)) —>
USB ids —>
() GPIO pins to set at micro-controller startup
I’d not be aware of Klipper supporting this printer and as such the needed build options might not be known, e.g. with respect to bootloader etc.
Maybe Snapmaker even implemented some kind of firmware protection or other locking mechanisms.
Also possible that you would need to use JTAG to get a (correctly configured) firmware.bin on this board.
I would invite ShojiYamamoto to this forum to discuss your problems it belongs here!
Segger J-Flash + J-link cable sounds expensive, since “Segger” is the first word. I guess there is no problem using an ST-LINK.
Segger has the “J-Link Edu Mini” which might be appropriate for this situation (it’s about $60 USD). I have one and it works fine for jtag programming/debug (althougth I haven’t used it with SWD programming so I can’t vouch for that):
Note that they have a pretty definite licensing statement about its use and violators will not only be prosecuted to the fullest extent of the law but also drawn, quartered and their rotting corpses left out as a warning to anybody who wants to use the product for what they consider “non-educational uses”.
Regardless, if you’re going down the path of programming the board yourself, the best case situation is that there is a standard jtag connector on the board that fits one of the cables with the kit. If this is not the case, you will probably have to make a custom cable from the programmer to the board with the worst case being that the designers didn’t provide access to the jtag lines (using them for board functions) and you have to make modifications to the main controller board with lots of fly wires going to the programmer.