nRF5340 audio DK with ZEPHYR FATAL ERROR 3

Hi Nordic support team,

I'm new to Nordic chip and using nRF5340 Audio DK for my project,

and I'm trying to build zephyr/samples/blutooth/iso_broadcast_benchmark, which is a sample application I found in nRF toolchain in VSCode, with board name nrf5340_audio_dk_nrf5340.

I've followed the flow in Building and programming using command line to build and flash this sample application with nRF Connect SDK v2.6.1. However the board reply FATAL ERROR as follow:

*** Booting nRF Connect SDK 3758bcbfa5cd ***
[00:00:00.431,823] <inf> iso_broadcast_main: Starting Bluetooth Throughput example
[00:00:00.450,592] <wrn> bt_hci_core: Controller to host flow control not supported
[00:00:00.452,392] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.452,423] <inf> bt_hci_core: HW Variant: reserved (0x0000)
[00:00:00.452,453] <inf> bt_hci_core: Firmware: unknown (0x20) Version 0.2120 Build 262144
ASSERTION FAIL [err == 0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/host/hci_core.c:331
        command opcode 0xfc02 timeout with err -11
[00:00:10.452,697] <err> os: r0/a1:  0x00000003  r1/a2:  0x00000000  r2/a3:  0x00000002
[00:00:10.452,697] <err> os: r3/a4:  0x20000cb8 r12/ip:  0x00000010 r14/lr:  0x00005cf1
[00:00:10.452,697] <err> os:  xpsr:  0x49000000
[00:00:10.452,697] <err> os: Faulting instruction address (r15/pc): 0x00005cfc
[00:00:10.452,728] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
[00:00:10.452,758] <err> os: Current thread: 0x20001bb8 (unknown)

Can you help to find out what's wrong with it ? Is it comes from the programming flow?

Btw, I've try the blinky project and it works fine, so I think it might comes from communication error between application core and network core?

Parents
  • Hello,

    Thank you for your extreme patience with this.

    I'm new to Nordic chip and using nRF5340 Audio DK for my project,

    and I'm trying to build zephyr/samples/blutooth/iso_broadcast_benchmark, which is a sample application I found in nRF toolchain in VSCode, with board name nrf5340_audio_dk_nrf5340.

    I've followed the flow in Building and programming using command line to build and flash this sample application with nRF Connect SDK v2.6.1. However the board reply FATAL ERROR as follow:

    I see here that you are referencing the zephyr iso_broadcast_benchmark sample, while the documentation you are referencing is for the nRF5340 LE Audio reference application. Is your intention to develop a LE Audio product? If so, I would highly recommend that you use the nRF5340 LE Audio application directly (located at nrf/applications/nrf5340_audio), in which case you can follow the exact steps that you have linked to in your original ticket.

    Give this a try, and please do not hesitate to ask if you should encounter any issues or questions - we're happy to help! :) 

    Best regards,
    Karl

  • Hi Karl,

    Thank you for the reply and sorry for the late response.

    Yes I'm using nRF5340 LE Audio, I will try the sample you suggested later!

    Few days after I posted this ticket I I've had try Building and programming using script and it works without the FATAL ERROR !!

    My flow is as follows:

    1. Setting my DK as gateway in nrf5340_audio_dk_devices.json.

    2. Execute buildprog.py as : python buildprog.py -c both -b debug -d both

        , which I think it create the programming files.

    3. Execute buildprog.py as : python buildprog.py -c both -b debug -d both -p

        , which I think it programed my DK.

    After this flow I've program with iso_broadcast_benchmark and some other projects and they work properly.

    But it brings me some question :

    What's the difference in network core between Building and programming using script and Building and programming using command line ?

    I've try to build network core with ble5-ctr-rpmsg_18929.hex (I'm using v2.6.1) and application core with all the same project I mentioned before but it always end up FATAL ERROR. Is there anything I missed while using command line?

    Thanks again for the reply!!

  • Hello,

    Benneb said:
    Thank you for the reply and sorry for the late response.

    No problem at all, I'm happy to help! :) 
    No worries about the late response - we'll continue this whenever you have a chance.

    I'm glad to read that you've got it working now!

    The main difference between using the command line approach and the script is that the script is a convenient abstraction of the multiple command line calls necessary to build and program for multiple boards concurrently.
    If you go into the buildprog script you can see the commands which are being issued.
    The script makes it much easier to work with multiple boards with different configurations at the same time - for instance, if you are working with a gateway and two headset devices you can just configure this in the .json file, and then both build and program all three devices with a single call to

    python buildprog.py -c both -d both -b debug -p
    


    Instead of having to build and program each core of each device separately.

    Benneb said:
    I've try to build network core with ble5-ctr-rpmsg_18929.hex (I'm using v2.6.1) and application core with all the same project I mentioned before but it always end up FATAL ERROR. Is there anything I missed while using command line?

    Could you elaborate on how you are attempting to do this?
    As of nRF Connect SDK v2.6.1 the default controller is the SoftDevice Controller, not the LE Audio controller(ble5-ctr-rpmsg*) controller.
    Additionally, the LE Audio controller is distributed as a precompiled hex, and so if you were to use that you would not have to build it specifically.

    Best regards,
    Karl

Reply
  • Hello,

    Benneb said:
    Thank you for the reply and sorry for the late response.

    No problem at all, I'm happy to help! :) 
    No worries about the late response - we'll continue this whenever you have a chance.

    I'm glad to read that you've got it working now!

    The main difference between using the command line approach and the script is that the script is a convenient abstraction of the multiple command line calls necessary to build and program for multiple boards concurrently.
    If you go into the buildprog script you can see the commands which are being issued.
    The script makes it much easier to work with multiple boards with different configurations at the same time - for instance, if you are working with a gateway and two headset devices you can just configure this in the .json file, and then both build and program all three devices with a single call to

    python buildprog.py -c both -d both -b debug -p
    


    Instead of having to build and program each core of each device separately.

    Benneb said:
    I've try to build network core with ble5-ctr-rpmsg_18929.hex (I'm using v2.6.1) and application core with all the same project I mentioned before but it always end up FATAL ERROR. Is there anything I missed while using command line?

    Could you elaborate on how you are attempting to do this?
    As of nRF Connect SDK v2.6.1 the default controller is the SoftDevice Controller, not the LE Audio controller(ble5-ctr-rpmsg*) controller.
    Additionally, the LE Audio controller is distributed as a precompiled hex, and so if you were to use that you would not have to build it specifically.

    Best regards,
    Karl

Children
No Data
Related