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.

[参考译文] CC1352R:跳转地址

Guru**** 2560390 points
Other Parts Discussed in Thread: CC1310

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/928832/cc1352r-jump-address

器件型号:CC1352R
主题中讨论的其他器件:CC1310

您好!

您能不能通过某种方式找到程序计数器的地址、在该地址上、程序执行被中断、并且看门狗中断被引起?

需要此信息来了解程序执行期间延迟超过允许时间的位置。

我的开发平台基于 CC1310和 CC1352处理器。 CCS v

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

    PS:我使用 TI-RTOS 和 SimpleLink SDK 4.20...

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

    您好 Igor、  

    您正在使用哪个项目、并且您是否对默认项目进行了任何修改?

    谢谢、  
    ELIN  

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

    您可以以 Resource Explorer 中的标准示例为基础 - Watchdog_CC1352R1_LAUNCHXL_tirtos_ccs

    当程序进入 watchdogCallback 时、我希望在 PC_from 变量中包含由于 WDT 而导致程序中断的地址。

    /*
    === 看门狗回调====
    */
    void watchdogCallback (uintptr_t watchdogHandle)
    {
    /*
    *如果调用看门狗不可屏蔽中断(NMI)、
    *循环、直到器件复位。 一些器件将调用
    *在看门狗过期时进行此回调、而其他人将进行回调
    *重置。 请参阅特定于器件的看门狗驱动程序文档
    *。
    *
    
    uint32_t PC_from =????;
    
    while (1){}
    
    

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

    您好 Igor、

    没有简单的方法可以实现这一点、但您需要解除堆栈以查看中断之前的状态。 假设您可以获得 PC 计数器、它很可能不会为您提供所需的答案、因为它可能指向"等待指令"、假设器件并非始终处于100%工作状态。  

    在调试模式下、您可能会使用 CCS 中的运行时对象查看器工具来检查 TI-RTOS 任务状态、以了解中断时是否阻止/运行其中的任何一个。