VIVI中堆栈设置的分析

DW_STACK_START = STACK_BASE+STACK_SIZE-4
STACK_BASE=VIVI_PRIV_RAM_BASE - STACK_SIZE
STACK_SIZE=SZ_32K
VIVI_PRIV_RAM_BASE=MMU_TABLE_BASE - VIVI_PRIV_SIZE
MMU_TABLE_BASE=HEAP_BASE - MMU_TABLE_SIZE
HEAP_BASE=VIVI_RAM_BASE - HEAP_SIZE
VIVI_RAM_BASE=DRAM_BASE + DRAM_SIZE - VIVI_RAM_SIZE
             =DRAM_BASE0+ SZ_64M    - SZ_1M
             =0x30000000+0x4000000-0x100000=0x33F00000
HEAP_SIZE=SZ_1M
HEAP_BASE=0x33F00000-0x100000=33E00000
VIVI_PRIV_SIZE=MTD_PART_SIZE + PARAMETER_TLB_SIZE + LINUX_CMD_SIZE
              =SZ_16K        + SZ_16K             + SZ_16K
              =48K
MMU_TABLE_BASE=HEAP_BASE - MMU_TABLE_SIZE
              =33E00000  - SZ_16K

VIVI_PRIV_RAM_BASE=33E00000  - SZ_16K - VIVI_PRIV_SIZE = 33E00000 - 64K
STACK_BASE = VIVI_PRIV_RAM_BASE - STACK_SIZE = 33E00000 - 64K - 32K

 

你可能感兴趣的:(linux,cmd,table)