Angus Gratton
f7eecfcc67
heap: Fix bug when realloc moves data between heaps
...
When realloc-ing to a smaller buffer size which ends up allocated in a different heap, the heap
structure is corrupted. This can only happen:
* If heap checking is Comprehensive (meaning buffers are never shrunk in place) and the heap the buffer was originally allocated in is full.
* Calling heap_caps_realloc() to deliberately move a buffer to a different capabilities type, and shrink it at the same time.
Probable fix for https://github.com/espressif/esp-idf/issues/1582
Probably the same issue:
https://www.esp32.com/viewtopic.php?f=2&t=4583
https://www.esp32.com/viewtopic.php?f=13&t=3717
2018-02-09 19:24:37 +08:00
Angus Gratton
47aaf402b8
heap: Add heap_caps_dump() / heap_caps_dump_all() functions
...
Dump the structure of the heap for debugging purposes.
2017-10-20 11:38:24 +08:00
XiaXiaotian
5df39cd4b6
Allocate some memories in SPIRAM first.
...
Try to allocate some WiFi and LWIP memories in SPIRAM first. If
failed, try to allocate in internal RAM then.
2017-10-13 10:11:24 +08:00
Angus Gratton
f0d7cfdafe
heap: Add new heap_caps_check_integrity_all() & heap_caps_check_integrity_addr() debugging functions
...
Easier to either check all heaps, or focus on checking a particular region.
2017-10-10 16:19:30 +11:00
Jeroen Domburg
740f8a79f0
Add logic to make external RAM usable with malloc()
2017-09-28 17:17:50 +08:00
Jeroen Domburg
875ae6a134
Add option to allocate external RAM using heap_alloc_caps
2017-09-14 10:47:44 +08:00
Angus Gratton
1cb0f30933
heap_caps: Add heap_caps_check_integrity() function
2017-09-07 16:32:05 +10:00
Angus Gratton
5361c08989
heap: Support adding new heap regions at runtime
...
To facilitate this, the list of registered heap regions is now a linked list
(allowing entries to be appended at runtime.)
2017-09-05 14:07:02 +10:00
Angus Gratton
0feb40833a
heap_caps: Allow for possibility a region is too small to register a heap
...
May happen due to sdkconfig, static allocation of RAM.
Closes https://github.com/espressif/esp-idf/issues/802
2017-07-19 17:24:24 +10:00
Angus Gratton
ad60c30de0
heap: Rename memory "tags" to "types" to avoid confusion w/ old tag allocator API
2017-07-10 17:46:03 +08:00
Angus Gratton
71c70cb15c
heap: Refactor heap regions/capabilities out of FreeRTOS
...
Remove tagged heap API, rename caps_xxx to heap_caps_xxx
Also includes additional heap_caps_xxx inspection functions.
2017-07-10 17:46:03 +08:00