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.

[参考译文] LAUNCHXL-CC1312R1:执行传感器控制器任务后的 CC1312R1程序异常

Guru**** 2391415 points
Other Parts Discussed in Thread: CC1312PSIP

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1467046/launchxl-cc1312r1-cc1312r1-program-exception-after-execute-sensor-controller-task

器件型号:LAUNCHXL-CC1312R1
主题中讨论的其他器件:CC1312PSIP

工具与软件:

我们正在与 TI RTOS SIMPLELINK_CC13XX_CC26XX_SDK_7_10_02_23合作

IAR 编译器版本9.32.1

使用 CC1312PSIP 时、项目运行不会出现任何问题。
迁移到 CC1312R1之后、我遇到了一个异常、程序进入  Error.c 中的 Error_raiseX 函数并永远留在那里。

if (Error_policy_D == Error_spin){
for (;;){

  1. //初始化传感器控制器
    scifOsalInit ();
    scifInit (&scifDriverSetup);

  2. scifOsalRegisterTaskAlertCallback (scTaskAlertCallback);

  3. 分步调试: 传感器控制器 API 中出现问题:

    scif_comms_link_input_T* pInput;
    scifOsalRegisterTaskAlertCallback (scTaskAlertCallback);

    scifResetTaskStruct (1 << scif_comms_link_task_ID)、0);
    pInput = scifGetTaskStruct (scif_comms_link_task_ID、scif_struct_input);
    pInput->datain =字节;
    pInput->cmdType = cmdType;
    scifExecuteTasksOnceNbl ((1 << scif_comms_link_task_ID));

    //在任务失败时无需重试、因为我们假定 L1将执行重试

    //等待一小段时间,或直到完成
    while (scifWaitOnNbl (1000)!= scif_Success);

    程序在  while 期间崩溃(scifWaitOnNbl(1000)!= scif_succe);

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

    尊敬的 Kobi:

    这很奇怪。 CC1312R1和 CC1312PSIP 中的传感器控制器之间没有差异。

    听起来移植流程本身可能出了一些问题。  

    您是否从 Sensor Controller Studio 生成了新代码? 或者将现有的套件添加到 CC1312R1项目中?

    您能否检查 M4F 代码是否能够正确初始化?

    谢谢、

    Marie H.

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

    尊敬的 Marie:

    我在 Sensor Controller Studio 中生成了一个新代码、还更新了芯片。
    M4F 代码是什么意思?   

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

    BTW、当我 同时将延迟更改为0 (scifWaitOnNbl(0)!= scif_succe);
    异常发生在以后。 当延迟>= 10时、异常在延迟期间发生

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

    尊敬的 Kobi:

    M4F 代码是指主处理器(Arm Cortex M4F)上运行的代码与专有传感器控制器上运行的代码不同。

    发生这种情况时、您能否截取呼叫堆栈的屏幕截图? (我们能看到在器件出现错误之前发生了什么情况吗?)

    谢谢、

    Marie H.

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

    尊敬的 Marie:
    我发现这个错误、它与传感器控制器无关。
    原因是我忘记将 NUM_IO_MAX 更改为32、而我需要将最大 IO 更改为31。
    修复错误后、我可以在~ 2分钟内运行应用程序(例如、闪烁 LED)、但2分钟后、程序停止运行、调试器似乎正在运行、但在我停止程序后、我收到一条弹出消息:

    JTAG 通信错误:无法访问 DAP

    我看到有一个关于此问题的 TT、我将对此进行调查。
    如果您有任何解决方案、我将不胜感激。

    Kobi

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

    尊敬的 Kobi:

    对于延迟、我们深表歉意。

    我知道如果在连接到调试器的情况下重启器件、就会出现这个问题。 例如、看门狗是否将器件复位。 您认为 情况可能如此吗?

    如果是、您可以检查复位原因寄存器 PRCM RESETCTL.RESET_SRC。

    谢谢、

    Marie H.

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

    尊敬的 Marie:

    是的、我解决了这个问题。 这不是看门狗复位、而是应用软件复位、因为我是在评估板上工作的、而不是开发 CC1312PSIP 项目的实际硬件。 评估板 GPIO 不支持此功能、因此进入软件复位状态。

    感谢您的支持