Add kernel memory functions & other memory-related changes (#590)
New Features - Added policy-based memory allocation APIs with capability flags and optional alignment: `memory_alloc_with_policy`, `memory_realloc_with_policy`, `memory_calloc_with_policy`, and `memory_free`. - Switched heap memory reporting to `memory_print_stats`. Bug Fixes - Improved allocation robustness with capability fallback behavior. - Added overflow-safe handling for aligned zero-initialized allocations. - Tightened const-correctness for generated device-tree device arrays. Tests - Added unit tests for default policy, alignment, zero-initialization, realloc preservation, freeing, and memory stats reporting.
This commit is contained in:
committed by
GitHub
parent
f21c0df6fe
commit
03a6285328
@@ -9,7 +9,13 @@ constexpr auto* TAG = "memory";
|
||||
|
||||
extern "C" {
|
||||
|
||||
void memory_trace() {
|
||||
const struct MemoryPolicy MEMORY_POLICY_DEFAULT = {
|
||||
.required = 0,
|
||||
.desired = 0,
|
||||
.alignment = 0,
|
||||
};
|
||||
|
||||
void memory_print_stats() {
|
||||
#ifdef ESP_PLATFORM
|
||||
size_t heap_free = heap_caps_get_free_size(MALLOC_CAP_INTERNAL);
|
||||
size_t heap_total = heap_caps_get_total_size(MALLOC_CAP_INTERNAL);
|
||||
|
||||
Reference in New Issue
Block a user