eez-open / modular-psu-firmware

Firmware for EEZ Bench Box 3 (BB3)
https://www.envox.eu/eez-bb3/
GNU General Public License v3.0
94 stars 42 forks source link

Firmware updates from SD #215

Closed fietser28 closed 3 years ago

fietser28 commented 3 years ago

I would like to be able to update the firmware of the BB3 from a file on the SD card. This issue is jus about the plain update method itself (probably an additional small step between the current bootloader (supporting dfu-util) and the main software).

I think this is an important enabler for other UI/user functions that download the firmware file to the BB3:

prasimix commented 3 years ago

I believe that the first step here is to find out how to make custom bootloader and does it can be part of the firmware or factory default bootloader needs to be replaced.

goran-mahovlic commented 3 years ago

As I know we cannot remove current factory default boot loader - so it stays. To have SD card bootloader we would need small application that reads SD card and writes data to memory address of STM32.

Factory default bootloader jumps to custom bootloader address that will be at 0x08000000 custom bootloader checks if file is available - or button is pressed custom bootloader loads app custom bootloader jumps to app address that has offset (depending of bootloader size)

We can also find already written bootloader and check how it works...

https://github.com/akospasztor/stm32-bootloader/tree/master/projects/STM32L496-Discovery

goran-mahovlic commented 3 years ago

This one looks promissing - https://github.com/feaser/openblt https://www.feaser.com/openblt/doku.php?id=manual:sdcard_demo

prasimix commented 3 years ago

Fixed partially, i.e. it is possible to detect and download new firmware indirectly from GitHub via EEZ Studio.