pure sdk for main
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
|
||||
#ifndef _SYS_HEAP_H_
|
||||
#define _SYS_HEAP_H_
|
||||
|
||||
#include "lib/heap/mmpool.h"
|
||||
|
||||
enum SYSHEAP_FLAGS {
|
||||
SYSHEAP_FLAGS_MEM_LEAK_TRACE = (1u << 0),
|
||||
SYSHEAP_FLAGS_MEM_OVERFLOW_CHECK = (1u << 1),
|
||||
SYSHEAP_FLAGS_MEM_ALIGN_16 = (1u << 2),
|
||||
};
|
||||
|
||||
//#define MMPOOL3
|
||||
|
||||
#ifdef MMPOOL3
|
||||
#define MMPOOL mmpool3
|
||||
#elif defined(MMPOOL2)
|
||||
#define MMPOOL mmpool2
|
||||
#else
|
||||
#define MMPOOL mmpool
|
||||
#endif
|
||||
|
||||
struct sys_heap {
|
||||
const char *name;
|
||||
uint32 flags;
|
||||
struct MMPOOL pool;
|
||||
};
|
||||
|
||||
int32 sysheap_init(struct sys_heap *heap, void *heap_start, unsigned int heap_size, unsigned int flags);
|
||||
uint32 sysheap_time(struct sys_heap *heap);
|
||||
void *sysheap_alloc(struct sys_heap *heap, int size, const char *func, int line);
|
||||
void sysheap_free(struct sys_heap *heap, void *ptr);
|
||||
uint32 sysheap_freesize(struct sys_heap *heap);
|
||||
uint32 sysheap_totalsize(struct sys_heap *heap);
|
||||
void sysheap_collect_init(struct sys_heap *heap, uint32 start, uint32 end);
|
||||
int32 sysheap_add(struct sys_heap *heap, void *heap_start, uint32 heap_size);
|
||||
int32 sysheap_of_check(struct sys_heap *heap, void *ptr, uint32 size);
|
||||
void sysheap_status(struct sys_heap *heap, uint32 *status_buf, int32 buf_size, uint32 mini_size);
|
||||
int32 sysheap_valid_addr(struct sys_heap *heap, void *ptr);
|
||||
uint32 sysheap_time(struct sys_heap *heap);
|
||||
int sysheap_use_list(struct sys_heap *heap, uint32_t *list_buf, int32 buf_size);
|
||||
void sysheap_dump(struct sys_heap *heap);
|
||||
|
||||
extern struct sys_heap sram_heap;
|
||||
extern struct sys_heap psram_heap;
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user