This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Zigbee_coordinator and Light_bulb cause BUS FAULT on nRF5340dk

Hello,

I've been trying to learn to develop an app based on ZigBee, it's the first time i'm working with nRF hardware and the only things i've done so far was to run some examples. 

When running either of the two ZigBee examples, I noticed the boards are not working so i checked TerraTerm and the board is just continuously writing this: 

[005,7;31m<err> os: ***** BUS FAULT *****
[00:00:00.005,798] <err> os: Precise data bus error
[00:00:00.005,798] <err> os: BFAR Address: 0x20164b08
[00:00:00.005,798] <err> os: r0/a1: 0x2100206c r1/a2: 0x00000000 r2/a3: 0x0000ecf0
[00:00:00.005,798] <err> os: r3/a4: 0x20164b00 r12/ip: 0x01021aad r14/lr: 0x01021af3
[00:00:00.005,798] <err> os: xpsr: 0x69000000
[00:00:00.005,828] <err> os: Faulting instruction address (r15/pc): 0x01025870
[00:00:00.005,828] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
[00:00:00.005,828] <err> os: Current thread: 0x21001b30 (unknown)
ÿ***g Z build v2.4.0-ncs1-1706-ga89f951e1eb8 ***ystem
[0005,798] <err> os: ***** BUS FAULT *****
[00:00:00.005,798] <err> os: Precise data bus error
[00:00:00.005,828] <err> os: BFAR Address: 0x20164b08
[00:00:00.005,828] <err> os: r0/a1: 0x2100206c r1/a2: 0x00000000 r2/a3: 0x0000ecf0
[00:00:00.005,828] <err> os: r3/a4: 0x20164b00 r12/ip: 0x01021aad r14/lr: 0x01021af3
[00:00:00.005,828] <err> os: xpsr: 0x69000000
[00:00:00.005,828] <err> os: Faulting instruction address (r15/p0x0870<err>nU 0
ÿ*** Zephyr OS build v2.4.0-ncs1-1706-ga89f951e1eb8 ***tem

I am patiently waiting your advice and thank you in advance for support

Cristian T

Parents
  • Hi Christian,

    Which version of NCS are you using?

    What are you using as your build target when building for the nRF5340 DK? Did you remember to program nRF IEEE 802.15.4: Serialization RPMsg to the network core? This must be programmed to the nRF5340 DK for the radio to be able to use Zigbee. Be aware that SES is unable to program a child image to the network core, so you must program the network core from the command line using either west or nrfjprog as explained here.

    You can also search for 21001b30 in build/zephyr/zephyr.map to find which thread this is happening on, and for the faulting instruction address 1025870 to see if it resolves to a specific line number.

    Best regards,

    Marte

  • Hi Marte,

    Thank you for your answer, i am using 1.5.1.

    i did not program the serialisation because i did not know it was necesary or how to do it. 

    i was reading into the nrfproj/west but still don't perfectly understand how to use it, i found a discussion about this in another thread. 

    I will try applying your suggestions. I thing these details should've been included in the documentation or a video tutorial of "running zigbee_coordinator" example. 

    Best regards, 

    Cristian T

Reply
  • Hi Marte,

    Thank you for your answer, i am using 1.5.1.

    i did not program the serialisation because i did not know it was necesary or how to do it. 

    i was reading into the nrfproj/west but still don't perfectly understand how to use it, i found a discussion about this in another thread. 

    I will try applying your suggestions. I thing these details should've been included in the documentation or a video tutorial of "running zigbee_coordinator" example. 

    Best regards, 

    Cristian T

Children
  • To complete my last message, I've programmed the nwk core with the CLI using the 802.15.4 serialization sample, then programmed the app core with the cli. Nothing happens, for the coordinator app absolutely nothing happens, the ports are silent also. For the light bulb app, led lights up and nothing else happens. 

    The .hex files were built in segger with nrf5340_5340 cpuapp
    The instructions i used in CLI were: 

    nrfjprog -f NRF53 --coprocessor CP_NETWORK --program 802154.hex --chiperase
    nrfjprog -f NRF53 --program coordinator.hex --chiperase

    nrfjprog --pinreset
    Trying to upload via cli the exact same .hex files yielded (for 802... on CP_NETWORK): 
    ERROR: The file specified is not a valid hex file, has data outside valid areas
    ERROR: or does not have data in valid areas.
  • Hi,

    The information regarding the nRF IEEE 802.15.4: Serialization RPMsg sample is not included in the documentation of Zigbee examples, as it is only required for the nRF5340. This is because the nRF5340 SoC has two cores, where the network core is responsible for the radio, and the application core has the application itself. This is different from devices from the nRF52 series, which only have one core that handles both the radio and the application. Therefore, this information can be found in our documentation about Working with nRF53 Series. This is the same for Bluetooth examples on the nRF5340 DK, except you must program the network core with a Bluetooth controller instead of one for nRF IEEE 802.15.4.

    CrisT said:
    The .hex files were built in segger with nrf5340_5340 cpuapp

     Only the sample for the application core should be built for cpuapp. For the network core you should instead use nrf5340dk_nrf5340_cpunet. If you used cpuapp for the network core as well, this will result in errors such as the ones you are getting.

    Best regards,

    Marte

  • Hi, 

    Compiling for the cpunet yields a compilation error. 

    Best regards, 

    Cristian T

  • Hi,

    What error are you getting? In the Output window in SES (Segger Embedded Studio) you can select to show Transcript and Output, and it will show you a log of the build process. Please copy the log and add it here by either uploading it as a .txt file or using Insert -> Code, so I can help you with this error.

    I tested compiling for cpunet now myself to make sure it works, using SES and NCS v1.5.1, and I did not get any errors. I have not made any changes to this project, so it should work out of the box. Be aware that it is only the nRF IEEE 802.15.4: Serialization RPMsg sample you should build for cpunet. The build target for the network coordinator should still be cpuapp.

    Best regards,

    Marte

Related