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.

[参考译文] LAUNCHLL-CC1352P:DMM集成:rfEchoRx ->'突然命令终止&'

Guru**** 654980 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/1078911/launchxl-cc1352p-dmm-integration-rfechorx---abrupt-command-termination

部件号:LAUNCHTXL-CC1352P
Thread:sysconfig中讨论的其它部件

我已按照SimpleLink Academy - DM.DMM 00.00 5.40 - LAB构建Simple_peripheral和rfEchoRx -DMM应用程序。

Code Composer 11.1 Studio.0.0.0011万 ,win10和两个LAUNCHXL_CC1352P1。

初始示例程序:

simile_peripheral_CC1352P1_LAUNCCHXL_TIrtos_CCS

rfEchoTX_CC1352P1_LAUNCHXL_TIrtos7_CCS

rfEchoRx_CC1352P1_LAUNCHXL_TIrtos7_CCS

rxEchoRx - Tx和simple_peripheral示例最初起作用。

我尝试在我的代码中检查实验室的修改步骤三次。

我可以从simple_peripheral中读取手机的特征,所以我猜BLE在我构建的DMM应用示例上工作正常。

问题是在rfEchoRx.c -file中:

RF_EventMask terminationReason = RF_runScheduleCmd(rfHandle,
                                 (RF_Op*)&RF_cmdPropRx,
                                 &scheduleParams,
                                 echoCallback,
                                 (RF_EventRxEntryDone | RF_EventLastCmdDone));

返回'RF_EventCmdAborted'和

uint32_t cmdStatus = ((volatile RF_Op*)&RF_cmdPropRx)->status;

返回'PROP_DON_ABORT '

这几乎是即时的(正在运行的调试器),无论rfEchoTx板是否正在运行,都没有关系。

我试图将上面的命令更改为'RF_scheduleCmd()',但它返回0x3。 我还尝试增加prop rx-tx的DMM-stack优先级。

也在中

SYSCFG / RF堆栈/ BLE / Broadcaster Configuration / Number of Advertisement Sets = 1

有一条警告消息“示例应用程序代码处理2个通告集。 请确保根据配置的套数更新示例应用程序代码",即使我已按照实验教程操作。

我希望您能帮助您完成此工作。

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

    我不知道在教程中没有为PROP添加应用程序状态,例如DMMPOLICY_PROP_TX_Rx?

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

    您好,Turo,

    我将尝试重现您所看到的问题,然后回复给您。

    谢谢,

    Marie H

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

    谢谢你。

    我现在已经调试了很多次了。 检查主和rfEchoRx.c.中的每次回车 尝试在syscfg中使用不同的优化选项,GPT值和DMM策略设置。

    我是否在开始时没有这些项目(SDK中没有这些项目):

    rfEchoRx,位于<SDK>/Examples/RTOS/<Board>/drivers/下
    rfEchoTx,可在<SDK>/Examples/RTOS/<Board>/drivers/下找到

    但这些:

    C:\ti\simplelink_cc13xx_cc26xx_SDK_5_40_00_40\examples\RTOS\CC1352P1_LAUNCCHXL\PROP_RF\rfEchorx\tirtos7\CCS
    C:\ti\simplelink_cc13xx_cc26xx_SDK_5_40_00_40\examples\RTOS\CC1352P1_LAUNCCHXL\PROP_RF\rfEchoTx\tirtos7\CCS

    第7条是否会导致问题?

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

    我在rfEchoRx.c中实施了DMM计划程序预占回调功能,并在main中注册了:

    // main.c
    DMMSch_registerPreemptionCb(DMM_scheduler_preemption_CB);
    
    // rfEchoRx.c
    void DMM_scheduler_preemption_CB(DMMPolicy_StackRole stackRolePreempted) {
        if (stackRolePreempted == DMMPolicy_StackRole_custom1) {
            preeemted_counter++;
        }
    }

    在调用此命令后,将立即调用此命令:

    // rfEchoRx.c
    RF_EventMask terminationReason =
                RF_runScheduleCmd(rfHandle,
                                  (RF_Op*)&RF_cmdPropRx,
                                  &scheduleParams,
                                  echoCallback,
                                  (RF_EventRxEntryDone | RF_EventLastCmdDone));

    我觉得由于某种原因,DMM会立即取消Sub-GHz RF命令?

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

    有关此问题的任何消息? 谢谢

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

    您好,Turo,

    RF命令已中止,您是正确的。 (terminationReason = RF_EventCmd已中止。)

    我正在研究DMM调度程序为什么会优先处理命令,希望下周我能为您准备一个snswer。

    谢谢,

    Marie H

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

    您好,Turo,

    您能否在下面的代码中设置断点并查看是否接收数据包?

    中止/抢占是有意为之:  

    由于BLE优先级,prop_done_abort出现在此DMM示例中。  当BLE堆栈需要对讲机资源时,DMM会权衡每个堆栈的应用程序状态和堆栈活动,当它确定BLE需要对讲机时,它将中止RF_cmdPropRx命令,以便BLE可以完成所需任务。  因此,当前正在运行的接收命令(它最初是作为“始终打开/侦听”设计的)似乎已中止,但一旦BLE命令完成,专有对讲机就可以恢复侦听来自rfEchoTx设备的消息。  DMM应用程序对堆栈活动和应用程序状态进行了相当好的衡量,因为据我观察,传输设备很少(如果有)错过接收设备的确认。

    谢谢,

    Marie H

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

    您好,Turo,

    我发现了我的问题。 我一直在使用CC1352P7-1。  请检查CC1352P-1上的问题是否相同。

    当我在sysconfig中添加新的自定义RF堆栈时,频率默认设置为915 MHz。 但是,在rfEchoTx项目中,默认频率为868 MHz。 因此我在两个不同的频率上发送和传输,难怪我没有收到任何数据包。  

    当我将启用DMM的项目更改为使用868 MHz时,数据包会按预期得到响应。

    谢谢,

    Marie H

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

    此内容是否已更新到教程中?

    谢谢

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

    您好,Turo,

    由于这与设备相关,我将添加一个注释,提醒用户比较rfPacketTx中使用的频率和启用DMM的示例。 我不确定此更新何时发布。

    谢谢,

    Marie H