feat: add embassy-boot bootloader - #1007
Conversation
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
Size Report
|
|
Hi, thanks for all your work on the bootloader/dfu features! Do we really need to maintain the code for RMK? Are there any RMK specific changes? |
|
My 2c:
For the question of where to host the bootloader: if the bootloader is a generic bootloader and requires no core code change in RMK, maintaining it in codeberg/anywhere else is fine. But if the bootloader requires core code changes in RMK, it's better to maintain it in RMK(or rmk organization?). Otherwise, updating either side might break the other. |
I would prefer organization honestly.
It does, you need the flash manager and the flash partition offsets/ sizes for the bootloader and RMK must match. |
The dependency relationship can be somehow reverted, for example, bootloader defines the spaces(fixed addresses, or special partition names in linker script), then RMK follows in user application. In this case, no RMK core code is touched. |
|
Anyway, I've created https://github.com/rmk-rs, I will transfer the repo soon |
I am not following. Isn't this how it is now? The bootloader defines an 'algorithm' that tells us the addresses/ sizes. RMK follows along and creates it's ACTIVE, DFU and STATE partition accordingly. The 'contract' that could break is the algorithm how to calculate the sizes. |
What I mean is that the bootloader does the full update process, and defines addresses in the linker script -- then the bootloader is firmware agnostic and RMK knows nothing except the flash partition defined in bootloader's linker script. |
|
To confirm: both |
I think rmk should provide pre built binaries for the bootloader, so people don't need to build that. I included a github action to create those automatically when making a tag of the whole repo that is named "bootymcbootface-v*". It would then make a release from that and attach the binaries.
Let me know if you want to do it otherwise or not want pre built binaries at all and I will remove it.