stm32h743_player/User/utils/heap.h
2024-04-05 00:36:26 +08:00

35 lines
867 B
C

#ifndef __HEAP_H
#define __HEAP_H
#include <stdlib.h>
#include <stdint.h>
#define HEAP_DTCM_SIZE_KB 96 //保留32k用于系统栈、Newlib堆与静态内存
#define HEAP_AXI_SIZE_KB 512 //全部用于堆
#define HEAP_APB_SIZE_KB 256 //保留32k用于elog异步输出缓冲区
typedef struct {
uint32_t free_cnt;
uint32_t free_size;
uint32_t free_biggest_size;
uint32_t used_cnt;
uint32_t used_size;
uint32_t used_biggest_size;
} tlsf_pool_statistics;
void *malloc_dtcm(size_t size);
void free_dtcm(void *p);
void *realloc_dtcm(void *oldmem, size_t bytes);
void *malloc_ahb(size_t size);
void free_ahb(void *p);
void *realloc_ahb(void *oldmem, size_t bytes);
tlsf_pool_statistics *get_dtcm_heap_statistics(void);
tlsf_pool_statistics *get_ahb_heap_statistics(void);
tlsf_pool_statistics *get_axi_heap_statistics(void);
void heap_init(void);
#endif