Skip to content

cpu/esp32: disable multiheap memory management#11942

Closed
gschorcht wants to merge 3 commits intoRIOT-OS:masterfrom
gschorcht:cpu/esp32/multi_heap_disable
Closed

cpu/esp32: disable multiheap memory management#11942
gschorcht wants to merge 3 commits intoRIOT-OS:masterfrom
gschorcht:cpu/esp32/multi_heap_disable

Conversation

@gschorcht
Copy link
Contributor

Contribution description

This PR disables the multiheap memory management as a temporary workaround for issue #11941.

Testing procedure

Setup a ESP-NOW network of two ESP32 nodes. For that purpose compile and flash two nodes with:

USEMODULE=esp_now make BOARD=esp32-wroom-32 -C examples/gnrc_networking flash

After that, connect to the nodes with a terminal program and use some commands like ifconfig and ping6 to check whether it works and wait for 1 hour or so. There should no CORRUPT message anymore.

Issues/PRs references

Temporary workaround for #11941.

Multiheap implementation of the SDK is only compiled when the esp_idf_heap module is enabled.
Due instabilities in memory management,  multiheap handling is disabled with in current implementation. newlibc memory management is used instead. Since SPI RAM access requires mutliheap heandling capabilities, module esp_spi_ram is disabled for the moment. If it is tried to be used by the application, an error message is thrown during make.
@gschorcht gschorcht added Platform: ESP Platform: This PR/issue effects ESP-based platforms Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) labels Jul 31, 2019
ifneq (,$(filter esp_spi_ram,$(USEMODULE)))
USEMODULE += esp_idf_heap
# USEMODULE += esp_idf_heap
$(error Module esp_spi_ram can't be use with current implementation)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/use/used
s/current/the current

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep, of course, it was just a typo.

@gschorcht
Copy link
Contributor Author

gschorcht commented Aug 1, 2019

This PR is obsolete since the reason for the problem described in issue #11941 seemed to be the critical section handling which is fixed by PR #11947.

@gschorcht gschorcht closed this Aug 1, 2019
@gschorcht gschorcht deleted the cpu/esp32/multi_heap_disable branch August 7, 2019 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Platform: ESP Platform: This PR/issue effects ESP-based platforms Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants