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

Platformio broken with actual master #7572

Closed
1 task done
Jason2866 opened this issue Dec 10, 2022 · 9 comments · Fixed by #7579
Closed
1 task done

Platformio broken with actual master #7572

Jason2866 opened this issue Dec 10, 2022 · 9 comments · Fixed by #7579
Labels
Status: Awaiting triage Issue is waiting for triage

Comments

@Jason2866
Copy link
Collaborator

Board

every

Device Description

not relevant

Hardware Configuration

not relevant

Version

latest master (checkout manually)

IDE Name

Platformio (custom self build)

Operating System

macOS 12.3

Flash frequency

40 Mhz

PSRAM enabled

yes

Upload speed

115200

Description

@me-no-dev
Compile fails with Platformio at the stage where esptool.py merge command is done.
https://github.com/espressif/arduino-esp32/blob/master/tools/platformio-build.py#L91

There are no bootloader*.bin files anymore in folder sdk/esp*/bin just *.elf files

Sketch

Every sketch

Debug Message

none

Other Steps to Reproduce

none

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.
@Jason2866 Jason2866 added the Status: Awaiting triage Issue is waiting for triage label Dec 10, 2022
@me-no-dev
Copy link
Member

@Jason2866 that is true. We need PIO to update their stuff to generate bins, like we do in the IDE.

cc @ivankravets @valeros

@Jason2866
Copy link
Collaborator Author

@me-no-dev Interested in reason for the change. What is the benefit for using *.elf files?

@ivankravets
Copy link
Contributor

Thanks, @me-no-dev, for pinging us. We will update our develop branch.

@me-no-dev
Copy link
Member

@Jason2866 if we use precompiled bins, the bootloader complains that the checksum of the firmware is wrong any time that settings (partitions, size, speed, etc.) differ from what the bootloader was compiled with. In order to get around that, we need to use elfs and turn them into bins with the same settings as the firmware at build time.

@ivankravets you are welcome :) Sorry I did not mention this earlier!

@TD-er
Copy link
Contributor

TD-er commented Dec 12, 2022

What does this do to OTA updates?

valeros added a commit to valeros/arduino-esp32 that referenced this issue Dec 12, 2022
This PR brings updates according to the latest changes in the Arduino core:
- Bootloader binaries are now generated from elf files
- Minor clean-up by removing obsolete code

Resolves espressif#7572
@me-no-dev
Copy link
Member

@TD-er as long as you keep the settings the same, it does nothing to OTA. You will see the error if you change flash speed/size.

@TD-er
Copy link
Contributor

TD-er commented Dec 12, 2022

So no issues with checksums?

@me-no-dev
Copy link
Member

no issues with checksums. elf2bin is done based on flash/psram settings, not based on the firmware image.

valeros added a commit to valeros/arduino-esp32 that referenced this issue Dec 12, 2022
This PR brings updates according to the latest changes in the Arduino core:
- Bootloader binaries are now generated from elf files
- Updated CI scripts
- Updated esptoolpy to v4.2.1
- Minor clean-up by removing obsolete code

Resolves espressif#7572
me-no-dev pushed a commit that referenced this issue Dec 12, 2022
This PR brings updates according to the latest changes in the Arduino core:
- Bootloader binaries are now generated from elf files
- Updated CI scripts
- Updated esptoolpy to v4.2.1
- Minor clean-up by removing obsolete code

Resolves #7572
@Jason2866
Copy link
Collaborator Author

Thx! Tested and working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Awaiting triage Issue is waiting for triage
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants