Files

51 lines
1.2 KiB
C
Raw Permalink Normal View History

2026-04-09 10:14:20 +08:00
#ifndef __PRIV_MALLOC_H__
#define __PRIV_MALLOC_H__
#include "stdint.h"
#ifndef NULL
#define NULL 0
#endif
#define SRAM_1 0
#define SRAM_2 1
#define SRAMBANK 2
#define MEM1_BLOCK_SIZE 512
#define MEM1_MAX_SIZE 10 * 1024
#define MEM1_ALLOC_TABLE_SIZE MEM1_MAX_SIZE / MEM1_BLOCK_SIZE
#define MEM2_BLOCK_SIZE 32
#define MEM2_MAX_SIZE 1 * 64
#define MEM2_ALLOC_TABLE_SIZE MEM2_MAX_SIZE / MEM2_BLOCK_SIZE
struct _m_mallco_dev
{
void (*init)(uint8_t);
uint8_t (*perused)(uint8_t);
uint8_t *membase[SRAMBANK];
uint16_t *memmap[SRAMBANK];
uint8_t memrdy[SRAMBANK];
};
extern struct _m_mallco_dev mallco_dev;
void mymemset(void *s,uint8_t c,uint32_t count);
void mymemcpy(void *des,void *src,uint32_t n);
void my_mem_init(uint8_t memx);
uint32_t my_mem_malloc(uint8_t memx,uint32_t size);
uint8_t my_mem_free(uint8_t memx,uint32_t offset);
uint8_t my_mem_perused(uint8_t memx);
void myfree(uint8_t memx,void *ptr);
void *mymalloc(uint8_t memx,uint32_t size);
void *myrealloc(uint8_t memx,void *ptr,uint32_t size);
void *board_malloc(uint32_t size);
void board_free(void *ptr);
void *board_realloc(void *ptr, uint32_t size);
void *board_calloc(uint32_t size);
#endif