51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
|
|
#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
|
||
|
|
|
||
|
|
|