How to location ASSERTION FAIL

I'm changing and testing my code with nRF52832 by NCS.

When I try to connect ,I will get those information.

SEGGER J-Link V7.94e - Real time terminal output SEGGER J-Link v7.94 -实时终端输出SEGGER J-Link v7.94 -实时终端输出SEGGER J-Link v7.94 -实时终端输出SEGGER J-Link v7.94 -实时终端输出

SEGGER J-Link V9.7, SN=150710838

Process: JLink.exe 过程:JLink.exe 过程:JLink.exe 过程:JLink.exe 过程:JLink.exe

*** Booting nRF Connect SDK v3.5.99-ncs1 *** ***引导nRF Connect SDK v3.5.99-ncs1 ******引导nRF Connect SDK v3.5.99-ncs1 ******引导nRF Connect SDK v3.5.99-ncs1 ******引导nRF Connect SDK v3.5.99-ncs1 ***

1202 Start 1202年开始 1202年开始 1202年开始 1202年开始

I: 6 Sectors of 4096 bytes I: 6个扇区,4096字节I: 6个扇区,4096字节I: 6个扇区,4096字节I: 6个扇区,4096字节

I: alloc wra: 0, fe0 I: alloc wra: 0, fe0 I: alloc wra: 0, fe0 I: alloc wra: 0, fe0 I: alloc wra: 0, fe0

I: data wra: 0, 8

SEGGER J-Link V7.94e - Real time terminal output
SEGGER J-Link V9.7, SN=150710838
Process: JLink.exe
*** Booting nRF Connect SDK v3.5.99-ncs1 ***
1202 Start
I: 6 Sectors of 4096 bytes
I: alloc wra: 0, fe0
I: data wra: 0, 8
I: SoftDevice Controller build revision: 
I: 36 f0 e5 0e 87 68 48 fb |6....hH.
I: 02 fd 9f 82 cc 32 e5 7b |.....2.{
I: 91 b1 5c ed             |..\.    
I: HW Platform: Nordic Semiconductor (0x0002)
I: HW Variant: nRF52x (0x0002)
I: Firmware: Standard Bluetooth controller (0x00) Version 54.58864 Build 1214809870
I: No ID address. App must call settings_load()
I: Identity: EC:41:5C:CB:1E:AD (random)
I: HCI: version 5.4 (0x0d) revision 0x118f, manufacturer 0x0059
I: LMP: version 5.4 (0x0d) subver 0x118f
DM Bluetooth LE Synchronization initialization
ASSERTION FAIL @ WEST_TOPDIR/zephyr/kernel/work.c:373
E: r0/a1:  0x00000004  r1/a2:  0x00000175  r2/a3:  0x00000001
E: r3/a4:  0x0004bd43 r12/ip:  0x00000000 r14/lr:  0x0003d1d1
E:  xpsr:  0x61000000
E: s[ 0]:  0x00000008  s[ 1]:  0x00000000  s[ 2]:  0x00000000  s[ 3]:  0x00025ba3
E: s[ 4]:  0x00020000  s[ 5]:  0x00025b65  s[ 6]:  0x00000000  s[ 7]:  0x00000000
E: s[ 8]:  0xde41d4b5  s[ 9]:  0x00041d91  s[10]:  0xbfb49585  s[11]:  0x2000a83c
E: s[12]:  0x00000001  s[13]:  0x0003d1c7  s[14]:  0x0004bd2c  s[15]:  0x00051f84
E: fpscr:  0x00000175
E: Faulting instruction address (r15/pc): 0x00041d7c
E: >>> ZEPHYR FATAL ERROR 4: Kernel p*** Booting nRF Connect SDK v3.5.99-ncs1 ***
1202 Start
I: 6 Sectors of 4096 bytes
I: alloc wra: 0, fa0
I: data wra: 0, 50
I: SoftDevice Controller build revision: 
I: 36 f0 e5 0e 87 68 48 fb |6....hH.
I: 02 fd 9f 82 cc 32 e5 7b |.....2.{
I: 91 b1 5c ed             |..\.    
I: HW Platform: Nordic Semiconductor (0x0002)
I: HW Variant: nRF52x (0x0002)
I: Firmware: Standard Bluetooth controller (0x00) Version 54.58864 Build 1214809870
I: No ID address. App must call settings_load()
I: Identity: EC:41:5C:CB:1E:AD (random)
I: HCI: version 5.4 (0x0d) revision 0x118f, manufacturer 0x0059
I: LMP: version 5.4 (0x0d) subver 0x118f
DM Bluetooth LE Synchronization initialization

It seem like something wrong in work.c and the line is 373

I find it look like this:

__ASSERT_NO_MSG(work->handler != NULL);

I used multiple work submit in my main.c and I can not local the issue happened in which one.

And the code seem not easy to add conditional breakpoint.So how can I to get more information about this issue.

Parents Reply Children
No Data
Related