- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?.
Solved! Go to Solution.
- Labels:
-
Sleep Modes
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
}
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Zhaohua,
Have you tried the code in SDK 2.2?
JT
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi JT,
Can duplicated issue when using the SDK2.2.0.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could this have anything to do with P0...?
Frank
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mwf, JT,
The issue still can be duplicated even if we pulled P0 o high, could you give some comments?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi boont,
Yes, the issue still exist after changing the crystal warm up timer to 5000and pulling P0 to high with a 10K register.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.