20736 crash

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi Guys: here is another 20736S crash issue, when disable sleep mode, it run ok, but when enable, the system crash, even if when modify crystal's warming up timing from 2500 to 15000, no use, anybody can help?.

0 Likes
1 Solution

Hi All,

The root cause of this issue was found, we use a Li-on battery and charger IC in our design, the charger IC can't provide the enough current supply when Li-on battery isn't present if only inserting the USB line for charger IC.

Actually, the system not crash, only disconnect the connection when discovering the services.

View solution in original post

16 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

Which profile are you leveraging for testing?

Which version of the SDK?

Which eval board are you using for testing, WICED Sense, TAG3 or your own custom design?

Have you been able to modify one of the tested profiles included in the SDK with your specific sleep code and test it on the TAG3?

It would help to start with Gold HW/SW as we are not aware of putting the device into sleep causing crashes.

Here's some code we provide that demonstrates deep sleep enablement and the associated clock source handling:Source Code: deep sleep enablement and the associated clock source handling...

0 Likes

Hi mwf,

The profile is the customer design, not the one that in SDK.

SDK version is 2.1.1.

Use same source code, it works well when using the 20736 TAG, connect successfully but discover services failed when using 20736S.

The following is log, I checked the HCI event, found the Disconnection Complete Event was sent out by stack.

00:02:03 - blecm evt handler:

00:02:03 - 0e04010a200c

00:02:03   Connection is UP.

00:02:03   profile idle timer stop

00:02:03   connUp

00:02:03   noAdv

00:02:03   noAdv

00:02:03 -

00:02:03 -  permission check retCode = 00

00:02:03 - pedo_statue: 0x1, 0x0, 0x1, 0x0, 0x0

00:02:03 - 

00:02:03 -  0x0, 0x0, 0x0, 0x0

00:02:10 -

00:02:10 -

00:02:10 - blecm evt handler:

00:02:10 - 13050140000100

00:02:10 -

00:02:10 - blecm evt handler:

00:02:10 - 050400400008

00:02:10 - 0201051107255bf05f86fb45ab837283

00:02:10 - a95f8a34d0050952696e67

00:02:10 - proximity alert:1

00:02:10 -

00:02:10 -

00:02:10 - blecm evt handler:

00:02:10 - 0e0401082000

00:02:10 -

00:02:10 - blecm evt handler:

00:02:10 - 0e04010a200c

00:02:10 -

00:02:10 - blecm evt handler:

00:02:10 - 0e0401062000

00:02:10 -

00:02:10 - blecm evt handler:

00:02:10 - 0e04010a2000

00:02:10   SMP Conn Down

00:02:10   connDown

0 Likes

Hi mwf,

The hello_sensor application run well when using 20736S, but have the same issue if modifying the follow code.

I only disabled GPIO configuration for the button/LED/battery/Buzzer.

const BLE_PROFILE_GPIO_CFG hello_sensor_gpio_cfg =

{

    /*.gpio_pin =*/

    {

    GPIO_PIN_WP,      // This need to be used to enable/disable NVRAM write protect

   -1,  // Button GPIO is configured to trigger either direction of interrupt

    -1,     // LED GPIO, optional to provide visual effects

    -1, // Battery monitoring GPIO. When it is lower than particular level, it will give notification to the application

    -1,  // Buzzer GPIO, optional to provide audio effects

    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // other GPIOs are not used

    },

    /*.gpio_flag =*/

    {

    GPIO_SETTINGS_WP,

    GPIO_SETTINGS_BUTTON,

    GPIO_SETTINGS_LED,

    GPIO_SETTINGS_BATTERY,

    GPIO_SETTINGS_BUZZER,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

    }

};

0 Likes

I am not sure what is causing your issue during sleep.

I will need to share this with the developers next week during our weekly meeting and see if they can provide guidance.

vik86 j.t

0 Likes
Anonymous
Not applicable

Hello Zhaohua,

Have you tried the code in SDK 2.2?

JT

0 Likes

Hi JT,

Can duplicated issue when using the SDK2.2.0.

0 Likes

Hi JT,

This issue can be duplicated when running the cycling_speed_cadence app if I enabling the advertising in blecsc_Create().

BTW, the P/N of this 20736S is :

    BCM20736S

    TN1448   83

    437868   Y3

0 Likes
Anonymous
Not applicable

Could this have anything to do with P0...?

Frank

0 Likes
0 Likes

Hi mwf,

I checked the SCH, the P0 is pulled to GND by 10K resistor, I will change it to pull high, and try again.

0 Likes

Hi mwf,

I checked the 20736 EVB SCH, the P0 also is pulled to GND, same app can be run well on 20736 EVB, so I think it maybe not the root cause. Anyway, I will try it on my board.

0 Likes

Hi mwf, JT,

The issue still can be duplicated even if we pulled P0 o high, could you give some comments?

0 Likes

if you change the crystal timing to 5000 and pull p0 to high with a 10k resistor, can i confirm with you that the issue still exist?

0 Likes

Hi boont,

Yes, the issue still exist after changing the crystal warm up timer to 5000and pulling P0 to high with a 10K register.

0 Likes
Anonymous
Not applicable

   Interesting problem.  Can you describe the characteristics of "Crash" more specifically?  Do you mean you lost the connection or do you mean that your application code stopped producing the expected trace messages for a time..

Reason I ask is I see a 7 second gap in your track output between 03 and 10 and it reminds me of a problem I had which was also connected with sleep.  What is the significance of the seven second gap... did you expect something else to be there and it wasn't?

00:02:03   connUp

00:02:03   noAdv

00:02:03   noAdv

00:02:03 -

00:02:03 -  permission check retCode = 00

00:02:03 - pedo_statue: 0x1, 0x0, 0x1, 0x0, 0x0

00:02:03 - 

00:02:03 -  0x0, 0x0, 0x0, 0x0

00:02:10 -

00:02:10 -

00:02:10 - blecm evt handler:

00:02:10 - 13050140000100

00:02:10

My problem was the system was going to sleep during my application code execution.  I solved it by registering for low power event callbacks and when the low power query comes in, my callback function returns zero meaning, no, I don't want to go to sleep yet.  When I did this my system stopped "crashing".

0 Likes

Hi All,

The root cause of this issue was found, we use a Li-on battery and charger IC in our design, the charger IC can't provide the enough current supply when Li-on battery isn't present if only inserting the USB line for charger IC.

Actually, the system not crash, only disconnect the connection when discovering the services.