nrf5340 MCUBOOT fails with multi image build at 1.8.0

Hi all,

I observed an issue after upgrading to 1.8.0 and to Zephyr 2.7.0-ncs1 respectively. When having Zigbee (and NET core) enabled, all images are built as before. The external flash is used to store the secondary MCUBOOT image, as defined in the partition file. The app does not seem to start tough.

I could not find much in the release notes beside moving external flash definition to the overlay file.

*** Booting Zephyr OS build v2.7.0-ncs1  ***
I: Starting bootloader
I: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
I: Secondary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
I: Boot source: none
I: Swap type: none
I: Bootloader chainload address offset: 0xc000
[00:00:00.001,251] <err> os: ***** BUS FAULT *****
[00:00:00.001,251] <err> os:   Precise data bus error
[00:00:00.001,251] <err> os:   BFAR Address: 0x2007fc00
[00:00:00.001,281] <err> os: r0/a1:  0x2000006c  r1/a2:  0x00000000  r2/a3:  0x00000000
[00:00:00.001,281] <err> os: r3/a4:  0x000001ae r12/ip:  0x0000f800 r14/lr:  0x000182a7
[00:00:00.001,281] <err> os:  xpsr:  0x29100000
[00:00:00.001,281] <err> os: s[ 0]:  0x00000000  s[ 1]:  0x00000000  s[ 2]:  0x00000000  s[ 3]:  0x00000000
[00:00:00.001,312] <err> os: s[ 4]:  0x00000000  s[ 5]:  0x00000000  s[ 6]:  0x00000000  s[ 7]:  0x00000000
[00:00:00.001,312] <err> os: s[ 8]:  0x00000000  s[ 9]:  0x00000000  s[10]:  0x00000000  s[11]:  0x00000000
[00:00:00.001,312] <err> os: s[12]:  0x00000000  s[13]:  0x00000000  s[14]:  0x00000000  s[15]:  0x00000000
[00:00:00.001,342] <err> os: fpscr:  0x20000ed8
[00:00:00.001,342] <err> os: Faulting instruction address (r15/pc): 0x0004bc22
[00:00:00.001,342] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
[00:00:00.001,342] <err> os: Current thread: 0x20001490 (unknown)

 I attached the project (can be compiled with nrf5340dk_nrf5340_cpuapp board).  Any help is appriciated.

hello-world.zip

Regards,

Milan

Parents Reply
  • A workaround for the issue is to set CONFIG_NRF53_UPGRADE_NETWORK_CORE=n in the prj.conf file (assuming you don't need to upgrade the Net Core application). I tested this with your sample and I no longer got the bus fault from modules/hal/libmetal/libmetal/lib/io.c. However, I had to comment out wdt_feed() and wdt_setup() in main.c, since it caused an Instruction bus error, but that's another issue.

    We are working on a fix for the core of the issue and I will update this ticket when get more clarity.

    You should be aware that we don't fully support Zigbee FOTA  on the nRF53 yet. If you have questions about this or other future/road map related questions, contact the Regional Sales Manager in your area, if you don't know who this is, send me a PM.

Children
Related