Hello,
I have a configuration with OTA update via WiFi connection. Until now used esp-idf v1.0, developed new apps and send the binary files to the far unit that flashes the ota_x (or factory) app partition. Works well.
A few days ago I updated the idf to version v3.0. After some minor changes successfully compiled the last app from V1.0 and send the file to the unit for OTA update. Flashing the partition and switching it on to boot succeedes but the app doesn't run. Using another partition (factory) also doesn't work.
>>> I (1814) cpu_start: Starting app cpu, entry point is 0x40080db8
>>> I (1) cpu_start: App cpu up.
>>> I (1840) heap_init: Initializing. RAM available for dynamic allocation:
>>> D (1856) heap_init: New heap initialised at 0x3ffae6e0
>>> :
>>> I (1983) cpu_start: Pro cpu start user code
>>> Guru Meditation Error: Core 0 panic'ed (IntegerDivideByZero)
Seems to be a bootloader problem. Serial/USB flashing the bootloader.bin generated by idf V3.0 works (even with old app images from V1.0).
Problem: I can't travel to all far units to flash a new bootloader!
Is there any chance to make the app image of V3.0 "bootloader v0.1 friendly" so it can be booted? Alternativly get the new bootloader into the far units via OTA?
Thank you and best regards!
Bootloader V0.1 can't boot new app
Re: Bootloader V0.1 can't boot new app
Hi Megico,
Thanks for reporting this. I have reproduced the issue here and I have a fix to make v3.0 apps compatible with the v1.0 bootloader.
Will let you know when the fix is available.
Angus
Thanks for reporting this. I have reproduced the issue here and I have a fix to make v3.0 apps compatible with the v1.0 bootloader.
Will let you know when the fix is available.
Angus
Re: Bootloader V0.1 can't boot new app
Hello Angus,
is there any timeline to get the fix?
Megico.
is there any timeline to get the fix?
Megico.
Re: Bootloader V0.1 can't boot new app
There is an option in menuconfig:
→ Component config → ESP32-specific → App compatible with bootloaders before IDF v2.1
→ Component config → ESP32-specific → App compatible with bootloaders before IDF v2.1
Bootloaders before IDF v2.1 did less initialisation of the
system clock. This setting needs to be enabled to build an app
which can be booted by these older bootloaders.
If this setting is enabled, the app can be booted by any bootloader
from IDF v1.0 up to the current version.
If this setting is disabled, the app can only be booted by bootloaders
from IDF v2.1 or newer.
Enabling this setting adds approximately 1KB to the app's IRAM usage.
Re: Bootloader V0.1 can't boot new app
Hi Megico,
I'm very sorry, I forgot to update the post as I promised. Yes, this feature is available now as mentioned above.
This fix is also in the release/v3.0 branch and will be part of the v3.0 final release.
Angus
I'm very sorry, I forgot to update the post as I promised. Yes, this feature is available now as mentioned above.
This fix is also in the release/v3.0 branch and will be part of the v3.0 final release.
Angus
Who is online
Users browsing this forum: No registered users and 96 guests