heap: removed ptr check in diram area since aligned allocator does not support data allocated from IRAM
This commit is contained in:
parent
0d8a5ebec7
commit
6a307ee70f
2 changed files with 7 additions and 8 deletions
|
@ -576,14 +576,6 @@ IRAM_ATTR void heap_caps_aligned_free(void *ptr)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (esp_ptr_in_diram_iram(ptr)) {
|
|
||||||
//Memory allocated here is actually allocated in the DRAM alias region and
|
|
||||||
//cannot be de-allocated as usual. dram_alloc_to_iram_addr stores a pointer to
|
|
||||||
//the equivalent DRAM address, though; free that.
|
|
||||||
uint32_t *dramAddrPtr = (uint32_t *)ptr;
|
|
||||||
ptr = (void *)dramAddrPtr[-1];
|
|
||||||
}
|
|
||||||
|
|
||||||
heap_t *heap = find_containing_heap(ptr);
|
heap_t *heap = find_containing_heap(ptr);
|
||||||
assert(heap != NULL && "free() target pointer is outside heap areas");
|
assert(heap != NULL && "free() target pointer is outside heap areas");
|
||||||
multi_heap_aligned_free(heap->heap, ptr);
|
multi_heap_aligned_free(heap->heap, ptr);
|
||||||
|
|
|
@ -96,6 +96,10 @@ void *heap_caps_realloc( void *ptr, size_t size, int caps);
|
||||||
* of memory to be returned
|
* of memory to be returned
|
||||||
*
|
*
|
||||||
* @return A pointer to the memory allocated on success, NULL on failure
|
* @return A pointer to the memory allocated on success, NULL on failure
|
||||||
|
*
|
||||||
|
* @note Any memory allocated with heaps_caps_aligned_alloc() MUST
|
||||||
|
* be freed with heap_caps_aligned_free() and CANNOT be passed to free()
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
void *heap_caps_aligned_alloc(size_t alignment, size_t size, int caps);
|
void *heap_caps_aligned_alloc(size_t alignment, size_t size, int caps);
|
||||||
|
|
||||||
|
@ -110,6 +114,9 @@ void *heap_caps_aligned_alloc(size_t alignment, size_t size, int caps);
|
||||||
* of memory to be returned
|
* of memory to be returned
|
||||||
*
|
*
|
||||||
* @return A pointer to the memory allocated on success, NULL on failure
|
* @return A pointer to the memory allocated on success, NULL on failure
|
||||||
|
*
|
||||||
|
* @note Any memory allocated with heap_caps_aligned_calloc() MUST
|
||||||
|
* be freed with heap_caps_aligned_free() and CANNOT be passed to free()
|
||||||
*/
|
*/
|
||||||
void *heap_caps_aligned_calloc(size_t alignment, size_t n, size_t size, uint32_t caps);
|
void *heap_caps_aligned_calloc(size_t alignment, size_t n, size_t size, uint32_t caps);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue