pure sdk for main

This commit is contained in:
divadiow
2025-08-27 09:51:58 +01:00
parent f0d033f1c9
commit 0571416e7c
3283 changed files with 1577720 additions and 1 deletions
+48
View File
@@ -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