MCPcopy Create free account
hub / github.com/TactilityProject/Tactility / esp_elf_malloc

Function esp_elf_malloc

Libraries/elf_loader/src/esp_elf_adapter.c:29–51  ·  view source on GitHub ↗

* @brief Allocate block of memory. * * @param n - Memory size in byte * @param exec - True: memory can run executable code; False: memory can R/W data * * @return Memory pointer if success or NULL if failed. */

Source from the content-addressed store, hash-verified

27 * @return Memory pointer if success or NULL if failed.
28 */
29void *esp_elf_malloc(uint32_t n, bool exec)
30{
31 uint32_t caps;
32
33#if CONFIG_ELF_LOADER_BUS_ADDRESS_MIRROR
34#ifdef CONFIG_ELF_LOADER_LOAD_PSRAM
35 caps = MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT;
36#else
37 caps = exec ? MALLOC_CAP_EXEC : MALLOC_CAP_8BIT;
38#endif
39#else
40#ifdef CONFIG_ELF_LOADER_LOAD_PSRAM
41 caps = MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT;
42#else
43 caps = MALLOC_CAP_8BIT;
44#endif
45#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 3, 0)
46 caps |= MALLOC_CAP_CACHE_ALIGNED;
47#endif
48#endif
49
50 return heap_caps_malloc(n, caps);
51}
52
53/**
54 * @brief Free block of memory.

Callers 2

esp_elf_load_sectionFunction · 0.85
esp_elf_load_segmentFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected