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

Fix original esp32 boot init panic #3985

Merged
merged 2 commits into from
May 30, 2024

Conversation

mskvortsov
Copy link
Contributor

No description provided.

@mskvortsov
Copy link
Contributor Author

Still no luck. Now some builds fail because of iram text segment overflow - the very reason why libc was switched to nano in the first place.

@thebentern
Copy link
Contributor

Still no luck. Now some builds fail because of iram text segment overflow - the very reason why libc was switched to nano in the first place.

I started taking a stab at splitting things out and moving the original ESP32 back to 6.3.2. #3980
Still needs some love

@mskvortsov mskvortsov force-pushed the fix-esp32-boot-panic branch 2 times, most recently from 59aa323 to b0579cb Compare May 30, 2024 01:16
@mskvortsov mskvortsov force-pushed the fix-esp32-boot-panic branch from b0579cb to e3a51e6 Compare May 30, 2024 10:38
@mskvortsov
Copy link
Contributor Author

Arduino-esp32 framework uses a build of esp-idf sdk that turns on a set of compile-time optimization flags targeting speed instead of size, which leads to IRAM segment blowup*. As these flags can't be reverted after building, and sdk re-building is probably undesirable, IRAM size reduction becomes tricky.

SDK includes IRAM-placed auxiliary SPI flash chip drivers - a compromise but reasonable candidate for removal. Removing them frees up several hundred bytes just enough to make the firmware fit.

In the long term, something more systematic should be done about IRAM usage. Currently, I don't see any alternative to making a custom SDK build.

(*) Proper meshtastic code uses only a tiny portion of the segment, no chance for reduction there.

@thebentern thebentern merged commit f138eaa into meshtastic:master May 30, 2024
81 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants