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.

CC2642 多次连接后,无广播,协议栈卡住



我使用CC2642芯片,SDK 版本simplelink_cc13x2_26x2_sdk_3_10_00_53 做peripheral 时,客户开发的APP 做主设备。客户开发的app在同一台手机上运行时,经常出现快速地和设备建立的3-4 次连接,这时设备协议栈像是卡住了,根本无广播,设备没有死机,应用线程还在正常运行,设备就在也不广播了,除非重启设备。

Adv Set 0 Disabled
enter simple_xx_lockService_CfgChangeCB function.
(CB) ATS_test Svc Char config change paramID(1). Sending msg to app.
Num Conns: 1
connect:0, connHand:0
Connected to 0x8844777FCE0E
CCCD Change msg: xx_lock Service Door_status: Notifications enabled
enter xx_lock_Service_WriteAttrCB function
Adv Set 0 Enabled
enter simple_xx_lockService_CfgChangeCB function.
Adv Set 0 Disabled
(CB) ATS_test Svc Char config change paramID(1). Sending msg to app.
Num Conns: 2
old connect:0, is same MAC
connect:1, connHand:1
Connected to 0x8844777FCE0E
CCCD Change msg: xx_lock Service Door_status: Notifications enabled
Adv Set 0 Enabled
enter xx_lock_Service_WriteAttrCB function
Adv Set 0 Disabled
enter simple_xx_lockService_CfgChangeCB function.
(CB) ATS_test Svc Char config change paramID(1). Sending msg to app.
Num Conns: 3
old connect:0, is same MAC
old connect:1, is same MAC
connect:2, connHand:2
Connected to 0x8844777FCE0E
CCCD Change msg: xx_lock Service Door_status: Notifications enabled
Adv Set 0 Enabled
enter xx_lock_Service_WriteAttrCB function
Adv Set 0 Disabled
enter simple_xx_lockService_CfgChangeCB function.
(CB) ATS_test Svc Char config change paramID(1). Sending msg to app.
Num Conns: 4
old connect:0, is same MAC
old connect:1, is same MAC
old connect:2, is same MAC
connect:3, connHand:3
Connected to 0x8844777FCE0E
CCCD Change msg: xx_lock Service Door_status: Notifications enabled
Adv Set 0 Enabled
Device Disconnected!
Num Conns: 3
delete: connect:2, connHand:2
Device Disconnected!
Num Conns: 2
delete: connect:1, connHand:1

  • 请问用官方代码测试有无此问题?
  • 1. 使用simple_peripheral_oad_onchip  原始demo 和 demo 板。

    2. 修改和客户约定广播名称后,使用客户的APK 测试,同样会出现卡死问题。

    3. log打印 如下:

    ====================
    SBP On-chip OAD v0003
    Initialized
    Dev Addr: 0x806FB01E3A66
    Adv Set 0 Enabled
    Adv Set 1 Enabled
    *Simple Peripheral
    +Work with >
    ====================
    SBP On-chip OAD v0003
    Initialized
    Dev Addr: 0x806FB01E3A66
    Adv Set 0 Enabled
    Adv Set 1 Enabled
    Num Conns: 1
    Connected to 0x7B9C7F229BBE
    *Simple Peripheral
    +Work with >
    Adv Set 0 Disabled
    Adv Set 0 Enabled
    Device Disconnected!
    Num Conns: 0
    *Simple Peripheral
    +Work with >
    Num Conns: 1
    Connected to 0x7B9C7F229BBE
    *Simple Peripheral
    +Work with >
    Adv Set 0 Disabled
    Adv Set 0 Enabled
    Adv Set 0 Disabled
    Num Conns: 2
    Connected to 0x7B9C7F229BBE
    *Simple Peripheral
    +Work with >
    Adv Set 0 Enabled
    Adv Set 0 Disabled
    Num Conns: 3
    Connected to 0x7B9C7F229BBE
    *Simple Peripheral
    +Work with >
    Adv Set 0 Enabled
    Num Conns: 4
    Connected to 0x7B9C7F229BBE
    *Simple Peripheral
    +Work with >
    Adv Set 0 Disabled
    Adv Set 0 Enabled
    Adv Set 0 Disabled
    Num Conns: 5
    Connected to 0x7B9C7F229BBE
    *Simple Peripheral
    +Work with >
    Adv Set 0 Enabled
    Adv Set 0 Disabled
    Num Conns: 6
    Connected to 0x7B9C7F229BBE
    *Simple Peripheral
    +Work with >
    Adv Set 0 Enabled
    Adv Set 0 Disabled
    Num Conns: 7
    Connected to 0x7B9C7F229BBE
    *Simple Peripheral
    +Work with >
    Adv Set 0 Enabled
    Adv Set 0 Disabled
    Num Conns: 8
    Connected to 0x7B9C7F229BBE
    *Simple Peripheral
    +Work with >
    Adv Set 1 Disabled
    Device Disconnected!
    Num Conns: 7

    4. Debug 时出现的 abort 状态

    [Cortex_M4_0] i: line 1260: E_usageFault: INVSTATE: Invalid EPSR and instruction combination
    Exception occurred in background thread at PC = 0x00000000.
    Core 0: Exception occurred in ThreadType_Task.
    Task name: {unknown-instance-name}, handle: 0x20004eb8.
    Task stack base: 0x20002b00.
    Task stack size: 0x800.
    R0 = 0x00000000  R8  = 0xffffffff
    R1 = 0x2000562c  R9  = 0xffffffff
    R2 = 0x200032a8  R10 = 0xffffffff
    R3 = 0x0000000c  R11 = 0xffffffff
    R4 = 0xffffffff  R12 = 0x10024b99
    R5 = 0xffffffff  SP(R13) = 0x200032b0
    R6 = 0xffffffff  LR(R14) = 0x00017ec9
    R7 = 0xffffffff  PC(R15) = 0x00000000
    PSR = 0x40000000
    ICSR = 0x00400803
    MMFSR = 0x00
    BFSR = 0x00
    UFSR = 0x0002
    HFSR = 0x40000000
    DFSR = 0x00000001
    MMAR = 0xe000ed34
    BFAR = 0xe000ed38
    AFSR = 0x00000000
    Terminating execution...

  • 你们最后问题解决了吗?我这边也是出现这样的问题,高频次的断连后从机无法广播