Gast
#967520
Hallo,
in folgendem Codeschnipsel ist irgendwie der wurm drinne. Folgende
Subroutine führt immer zu einer einer "Data Abort" Exception:
fk_switch_context:
stmfd sp!, {lr} /* Save return address */
mov lr , r1
stmfd sp!, {r0-r12,lr} /* Save curr task registers */
mrs r0, cpsr
stmfd sp!, {r0} /* Save current CPSR */
orr r0, r0, #NOINT /* Disable Int */
msr CPSR_c, r0
MOV r0, sp
mov lr, pc
LDR pc,=fk_print_stack
ldr r1,=fk_curr_run_task
ldr r0,=fk_next_task_to_run
str sp, [r2] /* store sp in preempted tasks's TCB */
/* new task*/
ldr sp, [r0] /* get new task's sp */
und zwar in der letzten angegeben Zeile. Wenn ich allerdings die drei
Debugzeilen um fk_print_stack entferne, tritt diese exception nicht mehr
auf.
Kann mir da jemand weiterhelfen?
Danke, Stefan