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-CC1352R1:macRadioPowerUpWait 上阻止协处理器器件

Guru**** 2562120 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1566919/launchxl-cc1352r1-coprocessor-device-blocked-on-macradiopowerupwait

器件型号:LAUNCHXL-CC1352R1


工具/软件:

我无法使用 SimpleLink CC13XX CC26XX SDK 版本 8.30.01.01 中的协处理器示例将 CC1352R1 LaunchPad 与主机集成。

只要协处理器应用程序收到 StartReq SRSP、就会阻止它、并调用`ApiMac_mlmeStartReq (&sReq)` from` acStartReq `m(`mt_mac.c`)。
换言之、在达到`ApiMac_mlmeStartReq`后、协处理器仅在电路板复位后恢复。

检查调用栈、可以看到 macRadioPowerUpWait 阻止应用程序。

```μ s
macRadioPowerUpWait () 0x00016BB2
mac_radio.c1514:12
macRxOn() 0x0000DA4C
mac_rx_onoff.c308:17
MAC_ResumeReq () 0x00010FBC
MAC_HL_PATCH.c0:3
0x1003A09C
```μ s

sReq 参数定义如下:

```μ s
StartReq{
start_time:0、
pan_id:9671、
Logical_channel:0、
Channel_page:10、
PHY_id:generic_US_915_PHY_132、// 132
Beacon_order:15、
super_frame_order:15、
PAN_Coordinator:true、
battery_life_ext:错误、
COORD_REALLING:FALSE、
realign_key_source:KeySource {键:[0、0、0、0、 0、0、0]}、
realign_security_level:NoSecurity、
realign_key_id_mode:NOTUSED、
REALIGN_KEY_INDEX:0、
Beacon_key_source:KeySource {键:[0、0、0、0、 0、0、0]}、
Beacon_security_level:NoSecurity、
beacon_key_id_mode:NOTUSED、
Beacon_key_index:0、
START_Fh:错误、
ENH_beacon_order:15、
OFS_TIME_SLOT:10、
Non_beacon_order:16383、
num_ies:0、
IE_id_list:[]
}
```μ s

这些示例取自 SimpleLink CC13XX CC26XX SDK 版本 8.30.01.01、并使用 Code Composer Studio 版本 20.2.0 对 LaunchPad 进行了刷写和调试

之前 SDK 版本的另一个协处理器示例已与主机器件集成、可与相同的网络配置完美配合。
Code Composer Studio 版本 10.1.1.00004
SimpleLink CC13X2 26X2 SDK 版本 4.30.0.54

如何解决该问题?

提前感谢

此致、

Fábio Faria Dias

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

    您好 Fábio、

    您使用的 TI15.4-Stack Linux 网关 SDK 的版本号是多少。

    如果您修改了 collector.cfg、您可以共享该文件吗?

    在这两种情况下、您都使用的是未修改的协处理器示例吗?

    这只是我们在连接调试器的情况下运行它吗? 如果不使用调试会话、它是否可以正常启动?

    此致、

    Daniel

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

    尊敬的 Daniel:

    我花了一些时间尝试将问题缩小到一小部分指令集。 目标是使用 TI15.4 Stack Linux Gateway SDK(版本  8.30.00.05,最新的可用版本)重现观察到的行为

    请参阅以下步骤:  

    - 在收集器示例中,转到 Collector_init 函数 (collector.c ),  使用一个不同于.cfg 文件中设置的默认值的值初始化 PHY(在本例中,假设为 1 ) 。
       ApiMac_mlmeSetReqUint8 (ApiMac_attribute_phyCurrentDescriptorId、1);
    -然后, 在 collector.cfg 文件集中将 config-phy-id 设置为 132。

    -构建并运行应用程序。

    之后、您将看到应用程序一直被阻止、等待  StartReq SRSP。

    换句话说、我无法将 MAC PIB 属性 MAC_PHY_CURRENT_DESIGNAL_ID (0xe8) 设置 为不同于  StartReq 中的值。

    在此示例中、MAC_PHY_CURRENT_DESICAR_ID 设置为 1、StartReq 上的 phy_id 设置为 132。

    在连接或不连接调试器的情况下发生。 我正在运行未经修改的协处理器示例。

    谢谢

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

    您好  Fábio、

    我今天没有权限使用我的 Linux PC 对此进行测试。

    但我认为这是有道理的、因为  CONFIG_PHY_ID 除了  ApiMac_mlmeSetReqUint8 (ApiMac_attribute_phyCurrentDescriptorId (uint8_t) CONFIG_PHY_ID) 之外还用于许多其他位置;

    我可以问一下为什么要在源代码中更改此 设置而不是使用 collector.cfg 来更改  config-phy-id?

    此致、

    Daniel

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

    我正在源代码中使用此修改来反映主机应用程序的功能、从而为您提供重现问题的最少步骤序列。

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

    您好 Fábio、

    我可以在调试会话中看到、  当我尝试您提到的更改时、器件会在 macRadioPowerUpWait 中等待。 也就是说、  将 ApiMac_attribute_phyCurrentDescriptorId 设置为 collector.cfg  中 config-phy-id 不同的值。 我将进一步研究。 但是、对于同一配置、这些值存在冲突。

    您能解释一下您实际尝试做什么吗?

    此致、

    Daniel

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

    您好 Fábio、

    我想我有更多的细节,按照相同的设置上一篇文章: 即

    a. 将 ApiMac_attribute_phyCurrentDescriptorId 修复到 1. 在 Collector_init 上并重新构建主机。

    b.将  collector.cfg 中的 config-phy-id 设置为不同的值 ( 3. (在本例中)。

    ——

    1.在启动期间、 调用 Collector init() 并 将 ApiMac_attribute_phyCurrentDescriptorId 设置为 1。 它由  MAC_SET_REQ 命令设置、并由 协处理器端的 macSetReq () 接收。

      0.041:pib 0x09-Set-common msg (000d) nbytes=22 len=17 [ 0xFE 0x11 0x22 0x09 0xe8 0x01 0x00 0x00]
    2.稍后 执行 sendStartREQ、并 使用不同的 PHY 值设置 MAC_START_REQ。 这是由 协处理器端的 macStartReq () 接收的。 在此之后、网络将出现故障。

      1.493:00000000:Fe 2a 22 03 00 00 00 00 00 00 — 直流 AC 00 09 03. 0f 0f 01 |.*“....... |
      1.493:00000010:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |… |
      1.493:00000020:00 00 00 00 00 00 00 00 00 00 f 00 ff 3f 00 bf |… ?.. |

    3.重新启动设备时、它会恢复、因为它不是执行 Collector_init ( )、而是使用 ApiMac_attribute_phyCurrentDescriptorId  CONFIG_PHY_ID 执行 csf_restoreMacAttributes()、它与 collector.cfg 相同。   向协处理器发送 MAC_SET_REQ 命令

     32.414:pib ms-set-common msg (0045) nbytes=22 len=17 [ 0xFE 0x11 0x22 0x09 0xe8 0x03 0x00 0x00]
     
    4.第二步是重复的,但这次是有效的。
    我在这里猜这不起作用、因为您在运行时尝试更改 PHY。 您能解释一下您要做什么、为什么您有两个不同的价值观?
    此致、
    Daniel