BSF_RL 发表于 2012-7-20 23:00:34

求助!关于CORTEX-M4 使能能FPU后自动入栈都有哪些寄存器?

本帖最后由 BSF_RL 于 2012-7-20 23:06 编辑

我在stm32F4下调试UCOSII,在没有使能FPU的时候,M3的移植接口也能在M4上跑,但是一旦打开FPU,就会死掉,经过跟踪发现,在没有使能FPU的时候发生异常或中断时自动入栈的寄存器和M3的相同,但是一旦使能了FPU,自动入栈的寄存器就多了18个,我不知道这18个寄存器是干吗的,我调试了发现这18个寄存器不是FPU的寄存器,它们就究竟是什么寄存器,知道的说一声!万分感谢。

BSF_RL 发表于 2012-7-23 18:27:54

自己顶一下

BSF_RL 发表于 2012-7-24 23:18:06

没找到相关文档,在rt-thread的移植工程中找到答案
struct exception_stack_frame
{
    rt_uint32_t r0;
    rt_uint32_t r1;
    rt_uint32_t r2;
    rt_uint32_t r3;
    rt_uint32_t r12;
    rt_uint32_t lr;
    rt_uint32_t pc;
    rt_uint32_t psr;

#if USE_FPU
    /* FPU register */
    rt_uint32_t S0;
    rt_uint32_t S1;
    rt_uint32_t S2;
    rt_uint32_t S3;
    rt_uint32_t S4;
    rt_uint32_t S5;
    rt_uint32_t S6;
    rt_uint32_t S7;
    rt_uint32_t S8;
    rt_uint32_t S9;
    rt_uint32_t S10;
    rt_uint32_t S11;
    rt_uint32_t S12;
    rt_uint32_t S13;
    rt_uint32_t S14;
    rt_uint32_t S15;
    rt_uint32_t FPSCR;
    rt_uint32_t NO_NAME;
#endif
};
用MDK的工程 看不见fpu的寄存器,不太好验证。

laoshuhunya 发表于 2012-7-29 11:20:21

使用FPU的堆栈帧

BSF_RL 发表于 2012-7-29 16:02:43

laoshuhunya 发表于 2012-7-29 11:20 static/image/common/back.gif
使用FPU的堆栈帧

你看的是什么文档,能否分享一份 email:wangjunbin-123@163.com

laoshuhunya 发表于 2012-7-29 19:49:12

BSF_RL 发表于 2012-7-29 16:02 static/image/common/back.gif
你看的是什么文档,能否分享一份 email:

ARM的问题,当然要在ARM家找:
http://infocenter.arm.com/help/topic/com.arm.doc.dui0553a/DUI0553A_cortex_m4_dgug.pdf

a317606001 发表于 2013-4-3 00:48:23

{:handshake:}好文档!~
页: [1]
查看完整版本: 求助!关于CORTEX-M4 使能能FPU后自动入栈都有哪些寄存器?