Memory access error when flashing nRF54L15

Hi,

We are working with a custom board that uses the nRF54L15 and I seem to be getting a lot of errors (but not always) related to memory access error when flashing the MCU either from our J-Link Base or from an nRF54L15-DK debug out connector:

[Probe] Device error: Memory access error at 0x00009c70. Probably a memory protection issue. Probe access is Secure (Generic)

Sometimes it works when I try again, but the solution that always works seems to be to erase the MCU and then try to flash again. But it needs to happen in 2 separate operations. When I do the erase and flash board action with the nRF Connect extension in vscode, I also get the error the first time, but it works the second time. I have never had this issue before working with the nRF52 series.

I'm currently on toolchain "b620d30767" that's part of NCS v2.9.0. The build configuration is targetting our own custom board files which are based on the nRF54L15-DK but I am not using the _ns suffix. Would that be the reason for getting this error, and can I fix it by using the non-secure environment? Or do you have any other pointer as to what could be going wrong?

Best,

Wout

  • Hi Amanda, 

    I seem to have found the issue. While trying to isolate the issue by starting from a known good example and slowly adding the devicetree settings and configs of our custom board, I noticed that there seems to be a whole folder of board conf files in the boot/zephyr/boards files. For the nRF54L15DK this conf file disables CONFIG_FPROTECT. When I copied the content of this conf file into my mcuboot.conf file and then do a build with my custom board as build target, I don't get this issue anymore. The moment I comment out CONFIG_FPROTECT=n, the issue comes back. 

    Now my question is, if I make a custom board, is there an easy way to create a conf file that will be used automatically for mcuboot (something like custom_plank_mcuboot.conf perhaps)? I am using the West T2 topology from the ncs-example-application, so my custom board is defined in that boards directory.

    Or will I have to solve this through the application level mcuboot.conf file like I did now?

    Best,

    Wout

  • Hi Wout, 

    Happy to know you found the issue. 

    You can have a board-specific conf file for MCUboot (e.g., sysbuild/mcuboot/boards/custom_plank.conf), but you must also provide sysbuild/mcuboot/prj.conf for it to be picked up.

    -Amanda H.

Related