Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement application description for ESP-IDF image format #695

Open
jessebraham opened this issue Oct 25, 2024 · 3 comments
Open

Implement application description for ESP-IDF image format #695

jessebraham opened this issue Oct 25, 2024 · 3 comments
Assignees
Labels
image-format Issues relating to one or more binary image formats
Milestone

Comments

@jessebraham
Copy link
Member

Details can be found in the ESP-IDF documentation:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/app_image_format.html#application-description

The omission of this struct can cause issues when using newer versions of the bootloader.

@SergioGasquez
Copy link
Member

Here is my progress with this issue: https://github.com/SergioGasquez/espflash/tree/feat/app-desc. Not sure what's wrong, but the app bootloops because the checksum verification fails or because there is an invalid segment length.

Note that I've only updated the C6 bootloader

@jessebraham jessebraham added this to the v4 milestone Jan 9, 2025
@jessebraham jessebraham added the image-format Issues relating to one or more binary image formats label Jan 9, 2025
@ivmarkov
Copy link
Contributor

ivmarkov commented Jan 13, 2025

@SergioGasquez I wonder why are you guys implementing this structure as part of espflash itself?
My understanding is, it needs to be a part of the factory/OTA image itself?

In esp-idf-sys, we have a simple app_desc! macro that folks can use to embed their own esp_app_desc_t structure in the ELF executable, which grabs current date and time, project = crate name (from Cargo.toml), and project version = crate version from Cargo.toml.

Shouldn't we use a similar approach for baremetal?
I mean, if you upload via OTA a new app image, you want this new app image to have a new version of this structure anyway, so my understanding is this is not related to espflash, which does not play a role during OTA anyway.

@ivmarkov
Copy link
Contributor

Here's the macro in esp-idf-sys: https://github.com/esp-rs/esp-idf-sys/blob/master/src/app_desc.rs#L2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
image-format Issues relating to one or more binary image formats
Projects
Status: Todo
Development

No branches or pull requests

3 participants