nRF53 network core bootloader fails to start because ACL full

We are using nRF5340 engineering D revision.

The software is nRF Connect SDK 1.7.0

We are seeing a problem with the network core bootloader (aka netboot, aka b0n)

Sometimes the bootloader fails to start the network core application.

We have enabled logging in the bootloader, then we see the following error message:

Failed to protect b0n flash, cancel startup

Looking into nrf\samples\nrf5340\netboot\src\main.c, we see that the bootloader tries to lock the flash using the ACL peripheral.

This fails because apparently the ACL list is not cleared on reboot. The function find_free_region then returns an error.

We reboot the chip using the shell command kernel reboot cold on the application core, which should also reset the network core according to the specification.

Is this a known hardware issue, or are we doing something wrong in software?

Parents
  • This is an issue I have not seen before and not familiar with. Would you be able to provide a detailed description how to reproduce it (upload a simplified sample if necessary)?

  • I have now tried an nrf sample on both the nRF5340DK (version 0.11.0 with engineering revision D) and on our custom board, modifying it only with regards to UART pinout. The difference in behaviour persists.

    The chip on the nRF5340DK, which resets the ACL as expected, has the following information:

    CONFIGID 000001f2
    DEVICEID 8bf28b0b aaf1ea1a
    VARIANT  514b4141

    The chip on our application board, which fails to reset the ACL, has the following information:

    CONFIGID 000001f6
    DEVICEID d8041929 dc85c3cb
    VARIANT  514b4141

    We have seen the issue with more than one chip, so I don't think it's a defective unit.

    Note that if CONFIG_RESET_ON_FATAL_ERROR is enabled for the network core bootloader, the issue may be less visible, as the bootloader failing to load the application causes a core fault, which then properly resets the ACL.

Reply
  • I have now tried an nrf sample on both the nRF5340DK (version 0.11.0 with engineering revision D) and on our custom board, modifying it only with regards to UART pinout. The difference in behaviour persists.

    The chip on the nRF5340DK, which resets the ACL as expected, has the following information:

    CONFIGID 000001f2
    DEVICEID 8bf28b0b aaf1ea1a
    VARIANT  514b4141

    The chip on our application board, which fails to reset the ACL, has the following information:

    CONFIGID 000001f6
    DEVICEID d8041929 dc85c3cb
    VARIANT  514b4141

    We have seen the issue with more than one chip, so I don't think it's a defective unit.

    Note that if CONFIG_RESET_ON_FATAL_ERROR is enabled for the network core bootloader, the issue may be less visible, as the bootloader failing to load the application causes a core fault, which then properly resets the ACL.

Children
No Data
Related