<?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>nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118982/nrf54l15-mpsl-init-stack-corruption</link><description>I have been bringing up an application on nRF54L15-DK, and about 50% of the time it hardfaults on initialization. I tracked down the cause to a branch to address 0, caused by stack corruption to the return PC. 
 I can&amp;#39;t get it to crash on sample code</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 17 Mar 2025 15:33:43 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118982/nrf54l15-mpsl-init-stack-corruption" /><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/527705?ContentTypeID=1</link><pubDate>Mon, 17 Mar 2025 15:33:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7f7d687-ebd0-4e30-86e0-dbf4f09597ff</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a title="https://github.com/nrfconnect/sdk-nrfxlib/pull/1679" href="https://github.com/nrfconnect/sdk-nrfxlib/pull/1679" rel="noopener noreferrer" target="_blank"&gt;https://github.com/nrfconnect/sdk-nrfxlib/pull/1679&lt;/a&gt; should fix the issue on ncs main in case you can try and verify.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Kenneth&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/527150?ContentTypeID=1</link><pubDate>Thu, 13 Mar 2025 12:06:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec349eea-8238-4034-8f04-a9a6c9480981</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Just want you to know we have not forgotten this case, but they are still working on it.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/526191?ContentTypeID=1</link><pubDate>Thu, 06 Mar 2025 13:47:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ed98c9fc-2477-4168-9710-695d71677b20</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There have been other ongoing activities at the moment, but I got confirmation someone will start look into this now. Sorry for the delay.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/526077?ContentTypeID=1</link><pubDate>Thu, 06 Mar 2025 00:44:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d37b98f4-2d91-4d31-974f-97b3505954bc</guid><dc:creator>Remi.G</dc:creator><description>&lt;p&gt;Any update on this?&amp;nbsp;It became a blocker when I was implementing OTA, because the reset would occur before the app confirmed the image, causing it to revert some of the time.&lt;/p&gt;
&lt;p&gt;I added this temporary workaround for now, in my application:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;code&gt;&lt;span&gt;static&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;boot_workaround&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span&gt;{&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;__disable_irq&lt;/span&gt;&lt;span&gt;();&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;code&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;code&gt;&lt;span&gt;// This needs to be higher priority than CONFIG_KERNEL_INIT_PRIORITY_DEFAULT=40&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span&gt;SYS_INIT&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;boot_workaround&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;PRE_KERNEL_1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;39&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;That runs before mpsl init and disables interrupts globally. When scheduler is initialized after PRE_KERNEL inits, they get globally re-enabled.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Perhaps interrupts should have been globally disabled during inits, in Zephyr? I didn&amp;#39;t test whether disabling them very early has any impact, only just before mpsl init, which is late in the PRE_KERNEL inits.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/523586?ContentTypeID=1</link><pubDate>Tue, 18 Feb 2025 17:18:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e7ad55a-d28b-466a-80db-fb9c6bec1deb</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Thanks for the clarification, checking internally.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/523567?ContentTypeID=1</link><pubDate>Tue, 18 Feb 2025 15:29:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:27b5b13e-4179-4413-96b4-2b8ecbd501e0</guid><dc:creator>Remi.G</dc:creator><description>&lt;p&gt;This is all very early in kernel startup, none of my code has run yet.&amp;nbsp;If there is an issue, it&amp;#39;s in Zephyr or Nordic code.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Configuring overlapping stacks with interrupts enabled is a bug. Counting on the interrupt to not occur is not very robust, it&amp;#39;s an accident waiting to happen.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/523488?ContentTypeID=1</link><pubDate>Tue, 18 Feb 2025 12:31:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4501cf85-5e56-461d-8c18-100bbee161ea</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;It&amp;#39;s not quite clear to me.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It may seem you are&amp;nbsp;triggering one of the interrupts reserved by mpsl, which is not supported. The workaround should be to disable/clear the reserved interrupts before mpsl_init runs.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/523341?ContentTypeID=1</link><pubDate>Mon, 17 Feb 2025 16:16:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dcd9ad5c-ebe2-431b-87b8-05297208e06d</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Thanks for the additional details, I will ask internally now.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/523331?ContentTypeID=1</link><pubDate>Mon, 17 Feb 2025 15:39:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6d9f5fee-7a27-48f0-93f3-8f6cb3118ee8</guid><dc:creator>Remi.G</dc:creator><description>&lt;p&gt;Sorry, this is NCS 2.9.0 (the latest) and the DK is PCS10156 v0.9.2 2024.49.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF54L15 MPSL init stack corruption</title><link>https://devzone.nordicsemi.com/thread/523260?ContentTypeID=1</link><pubDate>Mon, 17 Feb 2025 12:57:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f5dba48-71f2-457e-8093-8e9d760322f6</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;You are not writing which DK (see white label on the DK) you have of the nRF54L15 and which nRF Connect SDK version you are working on. Please state that.&lt;/p&gt;
&lt;p&gt;Before I report this internally,&amp;nbsp;can you also try latest main of nRF Connect SDK if you observe the same?&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>