/* Flash */
#define FLASH_BASE ROM_BASE0 /* 0x3000 0000 */
#define FLASH_SIZE SZ_32M
#define FLASH_UNCACHED_BASE 0x10000000 /* to mapping flash memory */
#define FLASH_BUSWIDTH 4
/* ROM */
#define VIVI_ROM_BASE 0x00000000
#define VIVI_PRIV_ROM_BASE 0x01FC0000
/* Porocessor memory map */
#define ROM_BASE0 0x00000000 /* base address of rom bank 0 */
#define ROM_BASE1 0x08000000 /* base address of rom bank 1 */
#define DRAM_BASE0 0x30000000 /* base address of dram bank 0 */
#define DRAM_BASE1 0x38000000 /* base address of dram bank 1 */
#define DRAM_BASE DRAM_BASE0 /* 0x3000 0000*/
#define DRAM_SIZE SZ_64M
#define MTD_PART_SIZE SZ_16K /* 16k=0x40000 */
#define MTD_PART_OFFSET 0x00000000
#define PARAMETER_TLB_SIZE SZ_16K /* 16k=0x4000 */
#define PARAMETER_TLB_OFFSET 0x00004000
#define LINUX_CMD_SIZE SZ_16K
#define LINUX_CMD_OFFSET 0x00008000
#define VIVI_PRIV_SIZE (MTD_PART_SIZE + PARAMETER_TLB_SIZE + LINUX_CMD_SIZE)
/* 16k+16k+16k=48k=*/
/* RAM */
#define VIVI_RAM_SIZE SZ_1M
#define VIVI_RAM_BASE (DRAM_BASE + DRAM_SIZE - VIVI_RAM_SIZE)
/* 0x3000 0000 + 64M - 1M = 0x33ff ffff - 1M = 0x33ef ffff*/
#define HEAP_SIZE SZ_1M
#define HEAP_BASE (VIVI_RAM_BASE - HEAP_SIZE)
/* 0x33ef ffff - 1M = 0x33df ffff*/
#define MMU_TABLE_SIZE SZ_16K
#define MMU_TABLE_BASE (HEAP_BASE - MMU_TABLE_SIZE)
/* 0x33df ffff - 16k = 0x33df bfff*/
#define VIVI_PRIV_RAM_BASE (MMU_TABLE_BASE - VIVI_PRIV_SIZE)
/* 0x33df bfff - 48k= 0x33de ffff*/
#define STACK_SIZE SZ_32K
#define STACK_BASE (VIVI_PRIV_RAM_BASE - STACK_SIZE)
/* 0x33de ffff - 32k = 0x33de 7fff*/
#define RAM_SIZE (STACK_BASE - DRAM_BASE)
/* 0x33de 7fff - 0x3000 000 = 0x3de 7fff = 64M - 1M - 1M - 16K-48K-16K - 32k= 61M + 912K*/
#define RAM_BASE DRAM_BASE
/* 0x3000 0000 */
2009年9月7日 星期一
vivi Memory 常數
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言