大家好、我将详细介绍实验示例 cyclone.cmd 和 loadUCD3138.asm 文件
链接器命令文件显示:
RAM_PGM_AREA (RW) : org = 0x00019000, len = 0x00000080
RAM (RW) : org = 0x00019080, len = 0x00000DF0
STACKS (RW) : org = 0x00019E70, len = 0x00000190
.bss : {} > RAM /* Global & Static vars */
.stack : { /* total = 400 = 0x190 */
_StackUSER_ = . + 184; /* USER */
_StackFIQ_ = _StackUSER_ + 112; /* FIQ */
_StackIRQ_ = _StackFIQ_ + 84; /* IRQ */
_StackABORT_ = _StackIRQ_ + 4; /* ABORT */
_StackUND_ = _StackABORT_ + 4; /* UND */
_StackSUPER_ = _StackUND_ + 12; /* SUPER */
} > STACKS /* Software System stack */
在加载汇编器时:
SUP_STACK_TOP .equ 0x19ffc ;Supervisor mode (SWI stack) starts at top of memory FIQ_STACK_TOP .equ 0x19e00 ;allocate 256 bytes to supervisor stack, then do FIQ stack IRQ_STACK_TOP .equ 0x19d00 ;allocate 256 bytes to fiq stack, then start irq stack USER_STACK_TOP .equ 0x19b00 ;Allocate 512 bytes to irq stack, regular stack gets rest, down to variables
链接器的地址和范围是否应与汇编器的地址和范围匹配?