cpu/esp32: support of multiple heaps for newlib malloc#13517
cpu/esp32: support of multiple heaps for newlib malloc#13517benpicco merged 1 commit intoRIOT-OS:masterfrom
Conversation
There was a problem hiding this comment.
I guess https://doc.riot-os.org/group__cpu__esp32.html#esp32_manual_toolchain_installation will need an update too.
Looks good, please rebase (and remove the trailing whitespace while you're at it, so Travis is happy).
f6af10c to
6fddd57
Compare
No. I just forgot to push the master. The documentation doesn't refer a certain commit as |
|
I thought you would have squashed the whitespace fix directly 😉 |
Indeed, |
|
My suspicion is correct - |
|
The update has finally reached every CI worker I think - this needs another rebase though :) |
|
ping @gschorcht 😉 |
6fddd57 to
f42d6bb
Compare
|
Please squash |
Several unsused DRAM sections are added to the heap.
f42d6bb to
fb47f09
Compare
|
Murdock failed because of the following tests that are not related to this PR (output). Even stranger is that Murdock only did some tests on the |
|
@benpicco Do you think we should trigger Murdock again with the label |
|
The tests on nrf52dk are flaky, I don't know why - but looks like now everything worked. |
Yeah, but only because no test was run because of the test cache. Should we run the test again with the label |
|
I ran the test on a local esp32 and it showed no errors. But if you want, you can run Murdock again. |
|
🤔 It probably makes no sense to run all tests with static data again. The only test that probably uses dynamic memory is |
|
@benpicco Thanks for reviewing, testing and merging. |
Contribution description
This PR adds support of multiple heaps if module
esp_idf_heapis not used.For that purpose the following unused DRAM sections are added as additional heap segments:
With these additional heap segments, the overall heap size increases from
180 kiBto315kiB for thetests/heap_cmdapplication.The standard heap is located in:
It's size depends on other data since
.dataand.bsssections are also placed there. Therefore, the heap starts at_bss_end.Testing procedure
Use the following command to flash an ESP32 board:
Check that all heap segments are used:
Issues/PRs references
Depends on PR #13516Requires PR RIOT-OS/riotdocker#102 to work correctly.