Hi, I am trying to flash code onto an ESP32 from a separate MCU. I understand that there is an open-source Espressif serial-flasher project, and I am trying to port that to my host MCU.
My binary files in this case will be generated by PlatformIO so I had a question about what binaries I need to worry about.
I think I understand how this should work when using binaries generated by the ESP-IDF framework. I need to get data from bootloader.bin, partitions.bin, and firmware.bin to my host MCU, and use serial-flasher code from there.
My question is, if I am using the Arduino framework instead, what binaries do I need to send to my host MCU? I know it still generates partitions.bin and firmware.bin in the build directory, but what should I do in terms of a bootloader binary? I have seen this post which shows that I would need to select a bootloader binary based on flash settings (SPI mode and speed), and also (potentially?) a boot_app0.bin which seems to only be useful if there is an OTA partition? Is there always an OTA partition when using the Arduino framework? Because otherwise I would just not include that binary?
The act of selecting the correct bootloader binary, and the whole idea of needing a boot_app0 binary when not caring about OTA is the confusing stuff for me.
Sorry if that was a confusing way of describing things. I’m having a tough time figuring this out myself.
My basic question would be if I am using the Arduino framework, which binaries do I need to send to my host, in order to program an ESP32.
The ESP-IDF framework makes sense to me because it’s just the presented 3 binary files. But I am getting very confused as to how I should handle the binary output of a PlatformIO project using the Arduino framework. Any info in regards to that would be SUPER helpful to me, and I would appreciate it a lot!