esp-rs / esp32-hal

A hardware abstraction layer for the esp32 written in Rust.
Apache License 2.0
192 stars 28 forks source link

Rust bootloader #28

Open MabezDev opened 4 years ago

MabezDev commented 4 years ago

We currently use the C bootloader used in the arduino sdk core (slightly modified for PSRAM support). We should be able to write an equivalent in Rust.

arjanmels commented 4 years ago

Agree, however to add some color: it is quite a major task: the bootloader initializes flash, ram (depending on board and efuse config), memory protection unit; then it loads the partition table and loads the various segments to the correct places. Finally it sets up the caches correctly and hands over to teh user program.

MabezDev commented 4 years ago

I agree this is a lot more complicated than it sounds. I'd say this is more a stretch goal, than something we should actively working on now.

MabezDev commented 2 years ago

We can also think about using mcuboot instead of the IDF bootloader.