feat(heap): add function to get DRAM region free size

This commit is contained in:
dongheng
2019-09-17 11:43:31 +08:00
parent d501ebaf69
commit 3361cbc541
2 changed files with 27 additions and 0 deletions

View File

@ -13,12 +13,23 @@
// limitations under the License.
#include "esp_heap_caps.h"
#include "esp_attr.h"
#define HEAP_REGION_IRAM_MIN 512
#define HEAP_REGION_IRAM_MAX 0x00010000
heap_region_t g_heap_region[HEAP_REGIONS_MAX];
size_t IRAM_ATTR heap_caps_get_dram_free_size(void)
{
#ifndef CONFIG_HEAP_DISABLE_IRAM
extern size_t g_heap_region_num;
return g_heap_region[g_heap_region_num - 1].free_bytes;
#else
return g_heap_region[0].free_bytes;
#endif
}
/**
* @brief Initialize the capability-aware heap allocator.

View File

@ -14,6 +14,12 @@
#pragma once
#include <stddef.h>
#ifdef __cplusplus
extern "C" {
#endif
#define _heap_caps_lock(_num) \
{ \
extern void vPortETSIntrLock(void); \
@ -32,3 +38,13 @@
esp_task_wdt_reset(); \
}
/**
* @brief Get the total free size of DRAM region
*
* @return Amount of free bytes in DRAM region
*/
size_t heap_caps_get_dram_free_size(void);
#ifdef __cplusplus
}
#endif