是堆栈和变量啊,宇宙飞船看看C28的CMD文件,是如何安排PAG0和PAG1的!
是什么段?MI就用了做堆栈了!
MEMORY { PAGE 0 : /* For this example, L0 is split between PAGE 0 and PAGE 1 */ /* BEGIN is used for the "boot to SARAM" bootloader mode */ BEGIN : origin = 0x000000, length = 0x000002 RAMM0 : origin = 0x000002, length = 0x0003FE PRAML0 : origin = 0x008000, length = 0x000800 RESET : origin = 0x3FFFC0, length = 0x000002 BOOTROM : origin = 0x3FF000, length = 0x000FC0
PAGE 1 :
/* For this example, L0 is split between PAGE 0 and PAGE 1 */
BOOT_RSVD : origin = 0x000400, length = 0x000080 /* Part of M1, BOOT rom will use this for stack */ RAMM1 : origin = 0x000480, length = 0x000380 /* on-chip RAM block M1 */ DRAML0 : origin = 0x008800, length = 0x000800 } SECTIONS { /* Setup for "boot to SARAM" mode: The codestart section (found in DSP28_CodeStartBranch.asm) re-directs execution to the start of user code. */ codestart : > BEGIN, PAGE = 0 ramfuncs : > RAMM0 PAGE = 0 .text : > PRAML0, PAGE = 0 .cinit : > RAMM0, PAGE = 0 .pinit : > RAMM0, PAGE = 0 .switch : > RAMM0, PAGE = 0 .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */ .stack : > RAMM1, PAGE = 1 .ebss : > DRAML0, PAGE = 1 .econst : > DRAML0, PAGE = 1 .esysmem : > RAMM1, PAGE = 1
IQmath : > PRAML0, PAGE = 0 IQmathTables : > BOOTROM, type = NOLOAD, PAGE = 0
} |