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.

[参考译文] CC1354R10:需要有关使用 DMM 的建议

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1498796/cc1354r10-require-advice-regarding-the-usage-of-dmm

器件型号:CC1354R10
主题中讨论的其他器件:CC1354P10SYSBIOS

工具/软件:

尊敬的 TI 社区:

我们尝试将 CC1354P10的 basic_BLE_OAD_OFFCHIP 与 DMM 集成以及专有射频应用。

我们遵循了以下提供的指南:
https://dev.ti.com/tirex4-desktop/content/cc13xx_cc26xx_simplelink_academy_7_41_00_00/_build_cc13xx_cc26xx_simplelink_academy_7_41_00_00/source/dmm/dmm_integration/dmm_integration.html#task-2-add-proprietary-stack-to-the-project

BLE 按预期运行正常;但是、专有的 RF 不起作用、并且在调用"RF_Open"函数(别名为"DMMSch_rfOpen ()")时应用程序崩溃。

我们的 int main()如下所示:

int main()
 Task_Handle * pBleTaskHndl;
 Task_Handle * pPropTaskHndl;
 
 DMM Policy_Params dmmPolicyParams;
 DMM Sch_Params dmmSchParams;

 /*注册应用程序回调到在堆栈中提出的陷阱断言*/
 halAssertBack=AssertHandler;

 BOARD_INIT ();

 //启用 ICache 预取
 VIMSConfigure (VIMS_BASE、TRUE、TRUE);
 //启用缓存
 VIMSModeSet (VIMS_BASE、VIMS_MODE_ENABLED);

 /*注册应用程序回调到在堆栈中提出的陷阱断言*/
 RegisterAssertBack(AssertHandler);

 /*初始化所有应用程序任务*/
 appMain();
 prop_radio_task_create()

 pBleTaskHndl = iCall_getRemoteTaskHandle (0);
 pPropTaskHndl = iCall_getRemoteTaskHandle (1);

 /*更新堆栈的用户配置*/
 user0Cfg.appServiceInfo->timerTickPeriod = Clock_tickPeriod;
 user0Cfg.appServiceInfo->timerMaxMillisecond = iCall_getMaxMSecs()

 /*初始化并打开 DMM 策略管理器*/
 DMMPolicy_init()
 DMMPolicyParams(&dmmPolicyParams); Policy_Params_
 dmmPolicyParams.numPolicyTableEntries = Policy_Application PolicySize;
 dmmPolicyParams.policyTable = Policy_Application PolicyTable;
 dmmPolicyParams.globalPriorityTable = globalPriorityTable_bleLpropH;
 DMMPolicy_open (&dmmPolicyParams);

 /*初始化并打开 DMM 调度程序*/
 dmmsch_init()
 DMMSchParams.init (Sch_Params_);
 memcpy (dmmSchParams.stackRoles
    DMM.PolicyTable.stackRole Policy_Application
    sizeof (Policy_Stack)* DMMPOLICY_NUM_stack);
 dmmSchParams.indexTable = DMM Policy_ApplicationPolicyTable.indexTable;
 DMMSch_open (&dmmSchParams);

 /*使用 DMM 调度程序注册客户端*/
 DMMSch_registerClient (pBleTaskHndl、Policy_Stack DMM_BLEPeripheral);
 DMMSch_registerClient (pPropTaskHndl、Policy_Stack、Role_custom1);

 /*将堆栈设置为默认状态*/
 DMMPolicy_updateStackState (DMMPOLY_BLE、Policy_Stack、DMMPOLICY_BLE_ADV);
 DMMPolicy_updateStackState (DMMPOLE_custom1 Policy_Stack、DMMPOLICY_any);

 /*启用中断并启动 SYS/BIOS */
 bios_start()

 返回0
}
请有人告诉我如何继续进行针对 Prop RF 的 DMM 集成。
如果有任何建议、我们将十分感激。
此致
Brenton
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Brenton、

    您能给我提供故障的详细信息吗? 例如、您如何知道应用程序挂起? 如果暂停调试会话、您会在调用栈中看到什么? 如果存在硬件异常、ROV 对此有何评论?

    谢谢、

    Marie H

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

    尊敬的 Marie:

    感谢您的答复。 我们正在重新移植一个旧的应用程序、该应用程序可能存在各种问题、在此阶段不值得考虑、因此请忽略我之前的论坛帖子。



    然而,我确实试图遵循:
    https://dev.ti.com/tirex4-desktop/content/cc13xx_cc26xx_simplelink_academy_7_41_00_00/_build_cc13xx_cc26xx_simplelink_academy_7_41_00_00/source/dmm/dmm_integration/dmm_integration.html#task-2-add-proprietary-stack-to-the-project

    按照上述指南的建议、我使用 DMM 将 CC1354P10的 basic_BLE_OAD_OFFCHIP 与 rfEchoRx 集成。 当从 main.c 中的 DMM 配置注释掉 BLE 时、Sub-1GHz 无线电按预期工作;但是 BLE 无法与 DMM 一起使用。

    详细信息:

    • 我  使用 DMM 将 BLE_OAD_OFFCHIP 与 rfEchoRx 集成
    • 禁用 BLE 时、Sub-1GHz 可正常工作、即 另一个 CC1354P10_Launchpad 上的 rfEchoTx 定期闪烁绿色 LED。
    • 启用 BLE 后、  其他板上的 rfEchoTx 依次呈绿色闪烁两次、然后恢复为红色/绿色交替。 我认为出现了问题。 BLE 串行输出通过 UART 正确显示;但是、没有广播 BLE 信号。
    • BLE 不广播、但应用程序不会崩溃。

    总结:

    • 请告知   使用 DMM 的带有 rfEchoRx 的 BLE_OAD_OFFCHIP 是否应符合上述指南。
    • 该指南指出 POSIX 线程不应用于 DMM;但是 BLE_OAD 示例中使用 pthreads。

    请告诉我我该如何继续。

    非常感谢和赞赏

    Brenton

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

    您好 Brenton、

    1.我假设您在连接调试器的情况下运行这个项目。 (使用启用 OAD 的项目时、如果要在未连接调试器的情况下运行、则需要引导加载程序(例如 MCUBoot 和 OAD 映像标头等)。

    2.如您所说、在示例中、您需要为 TI RTOS 任务交换 pthreads。 打开项目文件夹/common/BLEAppUtil/BLEAppUtil_task.c。  

    -为 #include 添加 include 语句  

    - BLEAppUtil_createBLEAppUtilTask 使用 ti Re 任务而不是 POSIX。

    -在 bleapputil_internal.h 中,删除 pthread  的 include 语句。  

    请告诉我具体情况。

    谢谢、

    Marie H

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

    尊敬的 Marie:  

    很抱歉、延迟的回复。 由于时间限制和交付产品试点的压力、我至今未能测试 DMM。 我们决定删除 DMM 并单独使用 BLE 和 Prop 射频堆栈、因为在启动设备时一次只使用一个。  

    此致

    Brenton