heap/tests: make IRAM allocation size divisible by 4

heap_caps_malloc will fail to poison a block in IRAM with size not
divisible by 4. The proper fix will be to make poisoning code
smarter, or to disallow allocations from IRAM with size not aligned
by 4.
pull/2108/merge
Ivan Grokhotkov 2018-07-25 09:45:39 +03:00
rodzic 4f2fe93bc1
commit 9a2583122c
1 zmienionych plików z 1 dodań i 1 usunięć

Wyświetl plik

@ -43,7 +43,7 @@ TEST_CASE("Capabilities allocator test", "[heap]")
//the following gives size of IRAM-only (not D/IRAM) memory.
size_t free_iram = heap_caps_get_free_size(MALLOC_CAP_INTERNAL) -
heap_caps_get_free_size(MALLOC_CAP_8BIT | MALLOC_CAP_INTERNAL);
size_t alloc32 = MIN(free_iram / 2, 10*1024);
size_t alloc32 = MIN(free_iram / 2, 10*1024) & (~3);
printf("Freeing; allocating %u bytes of 32K-capable RAM\n", alloc32);
m1 = heap_caps_malloc(alloc32, MALLOC_CAP_32BIT);
printf("--> %p\n", m1);