大家好、我将详细介绍实验示例 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
链接器的地址和范围是否应与汇编器的地址和范围匹配?