www.pudn.com > EXT.rar > fastmem.h
#ifndef FASTMEM_H
#define FASTMEM_H
/****************************************************************************/
/*
* Two sram blocks: 64k and 32k, totally 96k
*/
/*
#define SRAM_OFFSET_BEGIN 0x20000000
#define SRAM_OFFSET_LENGTH 0x10000
#define SRAM1_OFFSET_BEGIN 0x20010000
#define SRAM1_OFFSET_LENGTH 0x8000
*/
#define SRAM_OFFSET_BEGIN 0x20000000
#define SRAM_LENGTH 0x18000
#define SRAM_HEAP_OFFSET SRAM_OFFSET_BEGIN
#define SRAM_HEAP_MAXLEN 0x9000
/*
* stack 0x20009000-0x20009fff
* I assume the stack will be smaller than 4k-4 bytes
*/
#define SRAM_STACK_OFFSET (SRAM_HEAP_OFFSET+SRAM_HEAP_MAXLEN)
#define SRAM_STACK_MAXLEN 0x1000
//#define SRAM_STACK_BOTTOM (SRAM_STACK_OFFSET+SRAM_STACK_MAXLEN-4)
#define SRAM_STACK_BOTTOM 0x20009ffc
#define STACK_SAVE 0x20009000
#define SRAM_BUF_OFFSET (SRAM_STACK_OFFSET+SRAM_STACK_MAXLEN)
#define SRAM_BUF_MAXLEN 0x800
#define SRAM_TABLE_OFFSET (SRAM_BUF_OFFSET+SRAM_BUF_MAXLEN)
#define SRAM_TABLE_MAXLEN 0x800
#define SRAM_FUNC_OFFSET (SRAM_TABLE_OFFSET+SRAM_TABLE_MAXLEN)
#define SRAM_FUNC_MAXLEN 0x4000
/*
* Predefined 4 big function(2k) and 4 small functions (1k)
*/
#define BIG_FUNC_SIZE 0x800
#define SMALL_FUNC_SIZE 0x400
enum{
SRAM_BIG_FUNC1=SRAM_FUNC_OFFSET,
SRAM_BIG_FUNC2=SRAM_BIG_FUNC1+BIG_FUNC_SIZE,
SRAM_BIG_FUNC3=SRAM_BIG_FUNC2+BIG_FUNC_SIZE,
SRAM_BIG_FUNC4=SRAM_BIG_FUNC3+BIG_FUNC_SIZE,
SRAM_SMALL_FUNC_BEGIN=SRAM_BIG_FUNC4+BIG_FUNC_SIZE,
SRAM_SMALL_FUNC1=SRAM_SMALL_FUNC_BEGIN,
SRAM_SMALL_FUNC2=SRAM_SMALL_FUNC1+SMALL_FUNC_SIZE,
SRAM_SMALL_FUNC3=SRAM_SMALL_FUNC2+SMALL_FUNC_SIZE,
SRAM_SMALL_FUNC4=SRAM_SMALL_FUNC3+SMALL_FUNC_SIZE
};
#endif