This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMDSRM48HDK:调试调用栈-"下一帧与现有帧相同"

Guru**** 2529560 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/594763/ccs-tmdsrm48hdk-debug-call-stack---next-frame-is-identical-to-an-existing-frame

部件号:TMDSRM48HDK

工具/软件:Code Composer Studio

您好,

我在使用6.1 Studio (.2.0.0015万)进行减记时遇到一些问题。

我正在尝试获取函数调用栈,但只有重复的前一帧或消息« 下一帧与现有帧 »完全相同。

我正在使用RM48HDK (RM48L952ZWT rev E)板,使用RTOS µCOS -III),我正在使用Spectrum Digital XDS200 USB调试探头进行调试。 主机操作系统是Windows 7 Professional 64bit Service Pack 1。

以下是我的项目设置 :

编译器 :

-mv7R4 --code_state=32 --float_support=VFPv3D16 --abi=eabi -me --include_path="C:/ti/ccsv6/tools/compiler/ti-CGT-arm_stm.7/include" 5.2 --display_error_number --diag_warning=225 --diag_wrap_n=off --tum_type_packed

链接器 :

-mv7R4 --code_state=32 --float_support=vFPv3D16 --abi=eabi -me -g --display_error_number --diag_warning=225 --diag_wrap=off --lib_type=packed -z -m"mux.map"--stack_size=0x800 --diag_warm/rm_exp.rip_-m_-m_example_fip_-f_--m_exp.rip_-cip_-f_-f_-f_-ex_exp.m_exp.ip_-cip_-cip_-f_-fi_ex_reml_-f_-f_-cip_ex_-f_-ex_reml_-cip_-cip_-ex_-ex_-ex_ex_-cip_-f_-ex-ex_-ex_-ex_-rip_ex_ex- 5.2 5.2

是否有方法查看完整的调用栈 ? 是一个错误还是需要放置一些参数 ?

谢谢!

Bastien

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Bastien:
    您能否提供可重现的测试案例(越简单越好)? 可执行文件*.out是主要内容。

    谢谢
    KI
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    这是我的.out文件:

    e2e.ti.com/.../2262.MUX.zip

    我正在创建一个定期任务,用于切换LED。 切换功能通过3种不同的功能调用:

    void函数3(void)

       BSP_LED_Toggle (2);
    }
    void函数2(void)

       函数3();
    }
    void函数1 (void)

       函数2();
    }

    静态void AppTaskStart (void *p_arg)

       OS_ERR错误;

       /*初始化Tick中断*/
       OS_BSP_TickInit(OSCfg_TickRate_Hz);

       BSP_LED_OFF (0);
       同时(1)
       {
           BSP_LED_Toggle (1);
           函数1();
           OSTimeDlyHMSM ((CPU_INT16U) 0,
                         (CPU_INT16U) 0,
                         (CPU_INT16U) 0,
                         (CPU_INT32U) 500,// 500毫秒
                         (OS_OPT) OS_OPT_Time_HMSM_Strict,
                         (OS_ERR *)和错误);

           如果(ERR!= OS_ERR_NONE)
           {
               BSP_LED_ON (6);
           }
       }
    }


    下面是我在函数3中放置断点时的结果:

    谢谢!

    Bastien

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Bastein,

    调用栈上的错误消息有点误导。

    如果您运行的是CCS v7,您将看到此信息。

    我检查目标文件中的调试信息。 编译器未生成有关如何在第二个帧之外解压调用栈的任何信息。

    我将提交一个编译器错误。

    -Raymond

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    这是编译器错误吗? 我必须等待更新?

    感谢您的帮助,

    Bastien

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我们将需要一个可以编译的可重现的测试案例。  此外,此论坛帖子将移至编译器论坛。

    如果发现错误,您正在使用的分支ARM CGT 5.2 v.x将不会使用修补程序进行更新,因为它是反应性的。  只有活动分支才会使用此修复程序进行修补。  同时,您可以尝试使用后面的分支编译代码,以查看问题是否仍然存在。  

    谢谢!

    安娜·优素菲

    编译器支持团队

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将测试用例放在一起并将其附加到错误代码CodeGen-2257中
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是标志--no_stm导致了问题。 它错误地丢弃了函数prolog的相关信息。 确保您使用的设备确实存在--no_stm能够解决的错误。 如果它没有该错误,请不要使用--no_stm