<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Memory access error when flashing nRF54L15</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/121068/memory-access-error-when-flashing-nrf54l15</link><description>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</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 01 Jul 2025 17:00:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/121068/memory-access-error-when-flashing-nrf54l15" /><item><title>RE: Memory access error when flashing nRF54L15</title><link>https://devzone.nordicsemi.com/thread/541082?ContentTypeID=1</link><pubDate>Tue, 01 Jul 2025 17:00:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:05973441-0ab1-4070-a63b-7034ab01638e</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi Wout,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Happy to know you found the issue.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can have a board-specific conf file for MCUboot&amp;nbsp;(e.g.,&amp;nbsp;sysbuild/mcuboot/boards/custom_plank.conf), but you must also provide&amp;nbsp;sysbuild/mcuboot/prj.conf&amp;nbsp;for it to be picked up.&lt;/p&gt;
&lt;p&gt;-Amanda H.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Memory access error when flashing nRF54L15</title><link>https://devzone.nordicsemi.com/thread/541068?ContentTypeID=1</link><pubDate>Tue, 01 Jul 2025 15:27:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0d1638d3-aa6d-4afa-a171-aa371b5a9dab</guid><dc:creator>WoutWG</dc:creator><description>&lt;p&gt;Hi Amanda,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;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&amp;#39;t get this issue anymore. The moment I comment out CONFIG_FPROTECT=n, the issue comes back.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;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 &lt;a href="https://github.com/nrfconnect/ncs-example-application/tree/v2.9-branch/boards/vendor/custom_plank"&gt;West T2 topology from the ncs-example-application&lt;/a&gt;, so my custom board is defined in&amp;nbsp;that boards directory.&lt;/p&gt;
&lt;p&gt;Or will I have to solve this through the application level mcuboot.conf file like I did now?&lt;/p&gt;
&lt;p&gt;Best,&lt;/p&gt;
&lt;p&gt;Wout&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Memory access error when flashing nRF54L15</title><link>https://devzone.nordicsemi.com/thread/536628?ContentTypeID=1</link><pubDate>Thu, 22 May 2025 12:54:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f68ff591-2ba3-4a0c-bcc0-ce83248cb61f</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
[quote user="WoutWG"]Using addr2line I don&amp;#39;t get anything for r14, but the r15 register points to zephyr/kernel/mutex.c:259 (ncs v2.9.1), which is this line:&amp;nbsp;&lt;span&gt;mutex&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;owner&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new_owner&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;[/quote]
&lt;p&gt;&lt;span&gt;This line is part of the Zephyr kernel&amp;#39;s mutex implementation, which should not be accessed before the kernel is fully initialized and before&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;main()&lt;/code&gt;&lt;span&gt;&amp;nbsp;is reached.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
[quote user="WoutWG"]If I can time the flashing or debugging right, it works well, but if not flashing or debugging will fail due to the hard fault. Since the hard fault is happening before hitting main in my application, I wonder if you have any pointers what this could be?[/quote]
&lt;p&gt;&lt;span&gt;The bus fault before&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;main()&lt;/code&gt;&lt;span&gt;&amp;nbsp;is likely due to a null or invalid pointer dereference in the Zephyr kernel mutex code, possibly caused by uninitialized kernel objects.&amp;nbsp;&lt;/span&gt;&lt;span&gt;If mcuboot or the application image is misconfigured, or if there is a mismatch between the board and the image, faults can occur before&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;main()&lt;/code&gt;&lt;span&gt;. Ensuring the correct board target and a clean flash is important.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;-Amanda H.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Memory access error when flashing nRF54L15</title><link>https://devzone.nordicsemi.com/thread/536553?ContentTypeID=1</link><pubDate>Thu, 22 May 2025 08:29:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:173b533a-a57a-4bc8-856e-e7e92ea2a4be</guid><dc:creator>WoutWG</dc:creator><description>&lt;p&gt;Hi Amanda,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I have some more input on this (as it keeps happening).&amp;nbsp;As I mentioned, recovering works, but only once. Same for erasing the board.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I noticed some issues with debugging as well: the debugger immediately&amp;nbsp;breaks for a fatal error before hitting main. This is also not consistent. If I restart the debugger a couple of times, I can get to main() and run the program correctly. Similarly, I tried flashing the board multiple times, and sometimes it works without erasing or recovering.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So it seems that there is a bug somewhere in the code resulting in a hard fault resetting the processor. If I can time the flashing or debugging right, it works well, but if not flashing or debugging will fail due to the hard fault. Since the hard fault is happening before hitting main in my application, I wonder if you have any pointers what this could be?&lt;/p&gt;
&lt;p&gt;We are using mcuboot and an application targetting nrf54l15_cpuapp (not NS variant)&lt;/p&gt;
&lt;p&gt;00&amp;gt; [00:00:17.255,295] &amp;lt;err&amp;gt; os: ***** BUS FAULT *****&lt;br /&gt;00&amp;gt; [00:00:17.255,301] &amp;lt;err&amp;gt; os: Precise data bus error&lt;br /&gt;00&amp;gt; [00:00:17.255,305] &amp;lt;err&amp;gt; os: BFAR Address: 0x55&lt;br /&gt;00&amp;gt; [00:00:17.255,317] &amp;lt;err&amp;gt; os: r0/a1: 0xe867d0cf r1/a2: 0x0000002c r2/a3: 0x00000089&lt;br /&gt;00&amp;gt; [00:00:17.255,325] &amp;lt;err&amp;gt; os: r3/a4: 0x00000000 r12/ip: 0x0000d0cf r14/lr: 0x00000375&lt;br /&gt;00&amp;gt; [00:00:17.255,329] &amp;lt;err&amp;gt; os: xpsr: 0x00000000&lt;br /&gt;00&amp;gt; [00:00:17.255,333] &amp;lt;err&amp;gt; os: Faulting instruction address (r15/pc): 0x00030374&lt;br /&gt;00&amp;gt; [00:00:17.255,355] &amp;lt;err&amp;gt; os: &amp;gt;&amp;gt;&amp;gt; ZEPHYR FATAL ERROR 25: Unknown error on CPU 0&lt;br /&gt;00&amp;gt; [00:00:17.255,370] &amp;lt;err&amp;gt; os: Current thread: 0x20003c50 (unknown)&lt;br /&gt;00&amp;gt; [00:00:18.210,898] &amp;lt;err&amp;gt; os: Halting system&lt;/p&gt;
&lt;p&gt;Using addr2line I don&amp;#39;t get anything for r14, but the r15 register points to zephyr/kernel/mutex.c:259 (ncs v2.9.1), which is this line:&amp;nbsp;&lt;span&gt;mutex&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;owner&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new_owner&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Let me know if you need any additional information.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Wout&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Memory access error when flashing nRF54L15</title><link>https://devzone.nordicsemi.com/thread/534320?ContentTypeID=1</link><pubDate>Wed, 07 May 2025 14:50:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1c2bac34-d4e9-48e2-8ece-4e79b44811e4</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;It needs to be recovered to unlock&amp;nbsp;&lt;span&gt;the&amp;nbsp;&lt;/span&gt;&lt;span&gt;device with&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;readback protection.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;See&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/programming.html#optional_programming_parameters"&gt;Optional programming parameters&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Memory access error when flashing nRF54L15</title><link>https://devzone.nordicsemi.com/thread/534280?ContentTypeID=1</link><pubDate>Wed, 07 May 2025 12:50:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa19a578-aa6a-42b1-a3eb-d9e508aece57</guid><dc:creator>WoutWG</dc:creator><description>&lt;p&gt;Hi Amanda,&lt;/p&gt;
&lt;p&gt;Recovering the board works, but it seems to only work once.&lt;/p&gt;
&lt;p&gt;Here is the output of nrfutil device --version&lt;/p&gt;
&lt;p&gt;nrfutil-device 2.7.16 (688c8df 2025-02-17)&lt;br /&gt;commit-hash: 688c8dfc89c904714c4916c5ae3e14b8ff45fa83&lt;br /&gt;commit-date: 2025-02-17&lt;br /&gt;host: x86_64-pc-windows-msvc&lt;br /&gt;build-timestamp: 2025-02-17T14:53:45.482985000Z&lt;br /&gt;classification: nrf-external&lt;/p&gt;
&lt;p&gt;Detected SEGGER J-Link version: JLink_V8.26&lt;/p&gt;
&lt;p&gt;The device command version you are currently using was tested with a different J-Link version (JLink_V8.10f) than the one you have installed (JLink_V8.26). The tested version is not required, and your J-Link version will most likely work fine. If you get issues related to J-Link with your devices, use the tested version.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Could this have something to do with the more recent J-Link version?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Memory access error when flashing nRF54L15</title><link>https://devzone.nordicsemi.com/thread/533414?ContentTypeID=1</link><pubDate>Tue, 29 Apr 2025 13:20:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:871c858e-51a5-457d-b90c-df61e4a479f4</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
[quote user=""]Would that be the reason for getting this error, and can I fix it by using the non-secure environment? [/quote]
&lt;p&gt;No. That is configured for the build type.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The error might be&amp;nbsp;&lt;span&gt;a memory protection issue. Try to recover the board before flashing.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1745932584985v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If you still have problems,&amp;nbsp; try to call &amp;quot;nrfutil --version&amp;quot; and &amp;quot;nrfutil device --version&amp;quot;, and provide the return log.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Amanda H.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>