求嵌入式c语言大师帮助~

[复制链接]
查看11 | 回复1 | 2011-4-12 12:48:04 | 显示全部楼层 |阅读模式
USR_STACK_LEGTH EQU 64
SVC_STACK_LEGTH EQU 0
FIQ_STACK_LEGTH EQU 16
IRQ_STACK_LEGTH EQU 64
ABT_STACK_LEGTH EQU 0
UND_STACK_LEGTH EQU 0


AREA Example7,CODE,READONLY

ENTRY

CODE32
START
MOV R0,#0

MOV R1,#1

MOV R2,#2

MOV R3,#3

MOV R4,#4

MOV R5,#5

MOV R6,#6

MOV R7,#7

MOV R8,#8

MOV R9,#9

MOV R10,#10

MOV R11,#11

MOV R12,#12



BL InitStack;



;

MRS R0,CPSR;

BIC R0,R0,#0x80

MSR CPSR_cxsf,R0;



;

MSR CPSR_c, #0xd0

MRS R0,CPSR



;

MSR CPSR_c,#0xdf

MRS R0,CPSR
HALT
B HALT

InitStack

MOV R0,LR;



MSR CPSR_c,#0xd3

LDR SP,StackSvc



MSR CPSR_c,#0xd2

LDR SP,StackIrq



MSR CPSR_c,#0xd1

LDR SP,StackFiq



MSR CPSR_c,#0xd7

LDR SP,StackAbt



MSR CPSR_c,#0xdb

LDR SP,StackUnd



MSR CPSR_c,#0xdf

LDR SP,StackUsr



MOV PC,R0


StackUsr DCD UsrStackSpace (USR_STACK_LEGTH-1)*4
StackSvc DCD SvcStackSpace (SVC_STACK_LEGTH-1)*4
StackIrq DCD IrqStackSpace (IRQ_STACK_LEGTH-1)*4
StackFiq DCD FiqStackSpace (FIQ_STACK_LEGTH-1)*4
StackAbt DCD AbtStackSpace (ABT_STACK_LEGTH-1)*4
StackUnd DCD UndStackSpace (UND_STACK_LEGTH-1)*4


AREA MyStacks,DATA,NOINIT;ALIGH=2
UsrStackSpace SPACE USR_STACK_LEGTH*4
SvcStackSpace SPACE SVC_STACK_LEGTH*4
IrqStackSpace SPACE IRQ_STACK_LEGTH*4
FiqStackSpace SPACE FIQ_STACK_LEGTH*4
AbtStackSpace SPACE ABT_STACK_LEGTH*4
UndStackSpace SPACE UND_STACK_LEGTH*4


END
问题:intistack scv irq fiq abt und的sp有何关系~我们老师提的~记得也不是很清楚~就是这些的sp是什么吧~我没仔细听~
回复

使用道具 举报

千问 | 2011-4-12 12:48:04 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">usr sp=svc sp
irq sp=usr sp 256
fiq sp=irq sp 64
abt sp=und sp=fiq sp
根据RW base设置的不同sp也不同,不过关系是这样的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行