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.

[参考译文] CC1312R:CCS12.6如何从任务栈上下文中提取返回 PC

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1496873/cc1312r-ccs12-6-how-to-extract-the-return-pc-from-task-stack-context

器件型号:CC1312R
主题:SysConfig 中讨论的其他器件

工具/软件:

在新版本的 CCS 中、 ROV 不像之前的 CCS 版本那样显示所有对象。 (新版本中可能有损坏的内容。)

我需要看到被抢占或被阻止任务的 PC (程序计数器)。

此信息在   之前的 CCS 中的->任务->调用栈行中可用。

如何在新的 CCS 版本中看到这一点?  

在下面的结构中、我需要知道如何准确地解释"void *上下文;"以提取任务 PC (程序计数器)

/*! @条件 NODOC */
结构 Task_Struct{
   Queue_Elem qElem;
   Queue_Elem objElem;
   char * name;
   volatile int 优先级;
   unsigned int 掩码;
   void *上下文;
   Task_Mode 模式:
   Task_Pend Elem * pendElem;
   size_t STACKSIZE;
   字符*堆栈;
   Heap_Handle stackHeap;
   Task_Func 端口 fxn;
   uintptr_t arg0;
   uintptr_t arg1;
   void * env;
   void **hookEnv;
   Bool vitalTaskFlag;
   Queue_Handle readyQ;
   uint32_t checkValue;
   void * TLS;
};

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

    你好、Emil

    不确定您使用的 SDK 是哪个版本、但您能否先使用所用版本的发行说明中建议的 CCS 版本进行测试

    (不要认为 CC12.6是推荐/测试的)

    • cc13xx_cc26xx SDK 7.41.00.17 (版本说明)  
      • TI Code Composer Studio: CCS-12.5.0
    • CC13xx CC26xx SDK 8.30.01.01 (版本说明)
      • TI Code Composer Studio: CCS-12.8.0

    如果您在使用推荐的版本时仍有问题、请告知我们。

    BR

    Siri

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

    尊敬的 Siri:

    我必须支持的工程是 simplelink_cc13xx_cc26xx_sdk_6_30_01_03。 在我的 PC 上、我安装了 CCS 的版本:12.4.0.00007。

    我有理由想保留当前的 SDK (simplelink_cc13xx_cc26xx_sdk_6_30_01_03)版本、而不是迁移到较新的版本。

    在这种情况下、我的问题是需要安装哪个版本的 CCS、SysConfig 和 xdctools、而 ROV 仍在工作、现在可以看到任务栈上下文、并确切地找出另一个优先级更高的任务中断(抢占)的任务位置?

    如果没有这样旧版本的 CCS、其中 ROV 仍适用于我的 SDK -我如何从任务句柄的"上下文"指针确切地看到 PC (程序计数器)。

    我从一位同事那里发现、在最新版本的 SDK 和 CCS 中、ROV 仍然损坏、并且无法从任务的上下文中看到我提出的问题。
    请说明如何从任务句柄的"内容"中提取此信息以及获取最新版本的 SDK 和 CCS。

    (https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1342738/cc1312r-cc1312r-rtos7-ccs12-6-rov-stnot-show-all-objects )

    BR

    埃米尔

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

    你好、Emil

    您能否确认、如果您使用、这也是一个问题 CCS-12.1.0 、这是推荐用于  simplelink_cc13xx_cc26xx_sdk_6_30_01_03的 CCS 版本

    Siri

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

    你好 Siri

    根据您的建议、我下载并再次安装之前的 CCS 12.1.0.00007、重新编译工程、问题是相同的。 ROV 中的此功能已损坏。

    (请确保在 CCS/SDK 的某些先前版本中可以运行此功能、因为我记得我使用了它)

    我将按照您的建议继续使用 CCS 12.1.0.00007、但需要一个解决方案来说明如何从任务栈上下文中使用 PC。

    BR

    埃米尔

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

    尊敬的 Emil:

    根据您的建议、我下载并再次安装之前的 CCS 12.1.0.00007、重新编译工程、问题与此相同

    您曾提到这过去可用于旧版本。 您使用的是哪个版本?

    请注意、CCS 12.x 及其附带的 ROV 均已被弃用、以支持。 任何错误都可能不会在这些错误中得到解决。 CCS 20.x 有 ROV 版本、但仅支持 FreeRTOS。

    谢谢

    Ki

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

    您好、Ki

    在我的档案库中、我从我的工程一开始就找到了关于 CCS910和 simplelink_cc13x0_sdk_1_40_00_10的注释、然后我会在工程发布之时、逐步将它们迁移到您的较新版本、依此类推、直到工程发布为止。  发行版本附带 simplelink_cc13xx_cc26xx_sdk_6_30_01_03。

    我不太记得了、但我认为这是最新版本 SDK + CCS 的最后一行、在这种情况下、仍然可以使用 SysConfig 静态创建任务和其他 TI_RTOS 对象(因为我记得有2个配置和之前的 TI_RTOS 内核)

    很明显、在某个时刻、该功能被破坏了、在新的 SDK 和 CCS 版本中的行中不受支持。 我同意这一点。

    问题是我如何准确地从任务栈上下文中提取返回 PC、正如我在第一篇文章中所述。

    我不仅对我很旧的工程需要这方面的知识、而且对于其他已发布的工程(例如 simplelink_cc13xx_cc26xx_sdk_6_41_00_17)也需要这方面的知识。

    BR

    埃米尔

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题是如何准确地从任务栈上下文中提取返回 PC、正如我在第一篇文章中所述。

    如果没有 ROV、我需要请教 SDK 专家、他们将对 TI-RTOS 有更多的了解。

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

    尊敬的 Emil:

    确实可以在 SysConfig 中为 SimpleLink F2 SDK 8.30创建任务。 打开 SysConfig 文件-> TI RTOS ->内核->任务。  

    不确定这与 ROV 有何关系。

    谢谢、

    Marie H

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

    谢谢 您、Ki、

    请根据需要回答我的问题。


    Marie H,

    我不明白你的写作是什么与我问我的第一篇文章相关?!?

    请不要再垃圾邮件主题、这样我就可以从熟悉 TI RTOS 的人员那里得到我所问问题的答案。



    BR
    埃米尔

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

    尊敬的 Emil:

    我不清楚您想要什么以及为什么要它。 听起来您希望非活动(待处理或已阻止)任务的返回指针。 为什么需要它? 您尝试调试时是否遇到问题?

    非活动任务分为三类:

    1.任务中无需再做(已到达任务函数的底部)

    2.在外部事件/信标等上挂起或被阻止 您仍可以在 ROV ->任务->详细中找到此信息。

    3.任务被调度程序抢占以运行另一个任务。 我认为这是您当前情况下最有趣的信息吗?

    根据您的帖子、好像此 ROV 功能是针对 TI RTOS6 (也称为 BIOS 6)提供的、但不适用于 TI-RTOS7示例?

    我已经联系了软件开发人员。 我们希望在下周结束前为您提供答案。 然而,这是复活节周,因此可能会发生额外的延误。

    谢谢、

    Marie H

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

    尊敬的 Emil:

    请您进一步解释一下您到底需要什么功能或 您希望实现什么、以便我们找到合适的解决方案?

    请参阅 Maries Previous post 中的分类。

    此致、
    Theo

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

    尊敬的 Theo Lange:

    当我在断点停止或停止程序时、我想查看程序中所有任务的状态-当任务被抢占(来自另一个高优先级任务)、或在外部事件/信标等上挂起或阻止时 所有这些都可在单个任务上下文中使用。

    我想知道如何从任务的上下文中提取这些信息。

    所有这些只需要调试即可。

    我认为有可能性和以某种方式查看所有 RTOS 对象的状态是正常的。

    CCS 行是非常好的工具、是完全必要的工具、但我看到 CCS 版本中存在一些性能下降和删除了一些行功能。

    此致

    埃米尔

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

    尊敬的 Emil:

    请查看我发送给您的电子邮件、让我们继续。

    此致、
    Theo