<?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>MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/79638/mpsl-timer-0-hard-fault</link><description>I have developed an application for the nRF52-DK (nRf52832AA) and am now in the process of porting the application to my custom hardware. My custom hardware utilizes the nRF52832AB part, so I have updated the configuration and memory sizes accordingly</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 28 Sep 2021 09:08:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/79638/mpsl-timer-0-hard-fault" /><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/331456?ContentTypeID=1</link><pubDate>Tue, 28 Sep 2021 09:08:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:07355da7-7e1a-42f3-9c74-a42d81e3db8c</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;If there are no improvements, then please look at the other case&amp;nbsp;you have open on where you can ship hardware here so we may take a look.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/331374?ContentTypeID=1</link><pubDate>Mon, 27 Sep 2021 16:17:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c593b68f-a820-4687-a88d-c305122eb186</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;Kenneth,&lt;/p&gt;
&lt;p&gt;I will try at 500ppm, although I already tried at a higher PPM with no change in behavior. I also tried with internal RC clock with no change in behavior.&lt;/p&gt;
&lt;p&gt;I tried updating to ncs 1.6.1 (latest, I thought), with no change in behavior.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/331215?ContentTypeID=1</link><pubDate>Mon, 27 Sep 2021 07:28:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:afffd278-04e9-4ae0-8c72-efdec688119b</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I was out of office the last few days last week. Can you try to set tolerance to 500ppm for test?&lt;/p&gt;
&lt;p&gt;Are you able try ncs v1.7.0 for comparison/test?&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/331125?ContentTypeID=1</link><pubDate>Fri, 24 Sep 2021 14:13:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f0e227d0-b9c2-4fc0-90e0-795d3f7f9924</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;Is there a way to escalate this issue in order to get a resolution? I have exhausted all causes that I can imaging on our custom board and firmware and desperately need assistance to get this resolved. Our development and production timelines are in great risk at this point if I cannot get Bluetooth functional on our boards with the QFAB part. Please let me know my options as soon as possible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/330923?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 19:29:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e94dab8a-91a6-42db-b580-21e0ab41f45d</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;Running my application in Segger Ozone, I see that when the fault occurs, the BAR and MMFAR registers have the contents 0xE000EDF8, which appears to be a &amp;quot;Private Peripheral Bus - Internal&amp;quot; address block. What is there, and why does it only fail on the QFAB part?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/330913?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 16:43:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9699323a-8403-48a4-927f-e0df900fb5dd</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;The&amp;nbsp;m_assert_handler is what gets called, and the line number is 2163. Can this be used to narrow in on the specific condition that is being detected within the SoftDevice?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/330715?ContentTypeID=1</link><pubDate>Wed, 22 Sep 2021 15:17:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eae38ced-2c9a-4f64-8a49-818db8fa9750</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;Yes, same source and &amp;lt; 20 ppm accuracy.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/330685?ContentTypeID=1</link><pubDate>Wed, 22 Sep 2021 13:24:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:734d4045-ce4e-440c-aa44-bf2b2e060d69</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;There shouldnt&amp;#39; really be any difference here, are you sure you don&amp;#39;t have any code that are disabling interrupts and/or running application interrupts on an invalid interrupt priority, for instance using IRQ_DIRECT_CONNECT()?&lt;/p&gt;
&lt;p&gt;Are you using the same LFCLK source and tolerance for both DK and custom board?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/330530?ContentTypeID=1</link><pubDate>Tue, 21 Sep 2021 17:03:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7019623-0ade-43d6-8f74-16da7c112695</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;Do you think it is possible that the same code running on an nRF52832AB part / our custom board might be running slightly slower than the nRF52832AA part / DK and that the&amp;nbsp;&lt;span&gt;MPSL_IRQ_TIMER0_Handler() is picking this up and generating a fault? Do you have a suggestion about how I might confirm this?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/330388?ContentTypeID=1</link><pubDate>Tue, 21 Sep 2021 07:06:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:14cd0bb5-5d5e-443b-9143-894b7493ef48</guid><dc:creator>Kenneth</dc:creator><description>[quote user="csteaderman"]I select Run, wait 5 seconds or so, pause execution, then Continue and it immediately crashes in the same place as my code, except that mine hits the fault without having to pause and continue.[/quote]
&lt;p&gt;The softdevice have real time requirements with various timers, ppi, task and events. It does not support pausing/breaking program flow from a debugger, this will cause the code to quickly hardfault or assert when continue to run the code. This can also occur if the application prevent the softdevice from executing code for a period of time (e.g. disabling interrupts and/or using very high interrupt priority.)&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/330362?ContentTypeID=1</link><pubDate>Mon, 20 Sep 2021 23:43:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3424a7c6-60dc-46a6-ab4e-8f93f3e0018d</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1632181400480v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/330361?ContentTypeID=1</link><pubDate>Mon, 20 Sep 2021 23:42:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e8114d4e-46cc-4929-8e90-0fb4e3423ff9</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;No suggestions?&lt;/p&gt;
&lt;p&gt;I have determined a way to generate the same MPSL Timer 0 Fault using an out-of-the-box Nrf52DK board and an example project. I loaded the peripheral_hids_mouse (although I believe any BT example project will do) and selected the nRF52DK board (as shown below). I run it in the debugger. It compiles, loads, and stops at the first line of main(). I select Run, wait 5 seconds or so, pause execution, then Continue and it immediately crashes in the same place as my code, except that mine hits the fault without having to pause and continue. Since this area of the program is in an obfuscated library, I cannot debug to determine what is failing. Please reproduce this condition and let me know what is causing the fault (I assume that you have access to the source code for the SoftDevice and can debug what&amp;#39;s going on). If you are unable, I am going to need at least some parts of the SoftDevice source code so that I can debug and figure out what is going on.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/329809?ContentTypeID=1</link><pubDate>Thu, 16 Sep 2021 11:40:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a1b27b93-bd11-404a-8736-eb202224ecec</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;Kenneth,&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve cleaned the folder, and also had already done step 3. Still same problem.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/329729?ContentTypeID=1</link><pubDate>Thu, 16 Sep 2021 07:39:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:47793e13-ba51-40aa-ae8d-0fb0d0501fbc</guid><dc:creator>Kenneth</dc:creator><description>[quote user="csteaderman"]I will build with --prestine.[/quote]
&lt;p&gt;&amp;nbsp;This parameter can be used if you build with &amp;quot;west&amp;quot; in command line, if you are building with SES you can either delete build folder or re-open the project should do the same thing.&amp;nbsp;&lt;/p&gt;
[quote user="csteaderman"]What do you mean by &amp;quot;this approach&amp;quot;?[/quote]
&lt;p&gt;My 3 step procedure I posted initially.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/329675?ContentTypeID=1</link><pubDate>Wed, 15 Sep 2021 19:43:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7cb889e6-89c7-4dc5-9fac-79c783fcabab</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;--pristine is not a valid compiler. I&amp;#39;m using SES with Nordic Zephyr/nRF Connect SDK.&lt;/p&gt;
&lt;p&gt;1&amp;gt; Compiling &amp;lsquo;offsets.c&amp;rsquo;&lt;br /&gt;1&amp;gt; arm-none-eabi-gcc: error: unrecognized command line option &amp;#39;--pristine&amp;#39;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/329672?ContentTypeID=1</link><pubDate>Wed, 15 Sep 2021 19:14:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e78ccc7c-37e0-41ff-8a25-b9b4cfaff35e</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;Opened one of the standard projects, changed uP to the AB variant, disabled &amp;quot;Settings&amp;quot;. Here is the debug output:&lt;/p&gt;
&lt;p&gt;[00:00:07.730,560] [0m&amp;lt;inf&amp;gt; bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)[0m&lt;br /&gt;[00:00:07.730,560] [0m&amp;lt;inf&amp;gt; bt_hci_core: HW Variant: nRF52x (0x0002)[0m&lt;br /&gt;[00:00:07.730,590] [0m&amp;lt;inf&amp;gt; bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 217.17378 Build 3224189809[0m&lt;br /&gt;[00:00:07.731,597] [0m&amp;lt;inf&amp;gt; bt_hci_core: Identity: DC:8F:81:FA:69:B1 (random)[0m&lt;br /&gt;[00:00:07.731,628] [0m&amp;lt;inf&amp;gt; bt_hci_core: HCI: version 5.2 (0x0b) revision 0x11c2, manufacturer 0x0059[0m&lt;br /&gt;[00:00:07.731,628] [0m&amp;lt;inf&amp;gt; bt_hci_core: LMP: version 5.2 (0x0b) subver 0x11c2[0m&lt;br /&gt;[00:00:07.740,478] [1;31m&amp;lt;err&amp;gt; mpsl_init: MPSL ASSERT: 112, 2163[0m&lt;br /&gt;[00:01:04.649,291] [1;31m&amp;lt;err&amp;gt; os: ***** HARD FAULT *****[0m&lt;br /&gt;[00:01:04.649,322] [1;31m&amp;lt;err&amp;gt; os: Fault escalation (see below)[0m&lt;br /&gt;[00:01:04.649,322] [1;31m&amp;lt;err&amp;gt; os: r0/a1: 0x00000003 r1/a2: 0x20006850 r2/a3: 0x20001860[0m&lt;br /&gt;[00:01:04.649,322] [1;31m&amp;lt;err&amp;gt; os: r3/a4: 0x00000007 r12/ip: 0x20000f04 r14/lr: 0x00010907[0m&lt;br /&gt;[00:01:04.649,322] [1;31m&amp;lt;err&amp;gt; os: xpsr: 0x41000018[0m&lt;br /&gt;[00:01:04.649,322] [1;31m&amp;lt;err&amp;gt; os: Faulting instruction address (r15/pc): 0x0001b562[0m&lt;br /&gt;[00:01:04.649,353] [1;31m&amp;lt;err&amp;gt; os: &amp;gt;&amp;gt;&amp;gt; ZEPHYR FATAL ERROR 0: CPU exception on CPU 0[0m&lt;br /&gt;[00:01:04.649,353] [1;31m&amp;lt;err&amp;gt; os: Fault during interrupt handling&lt;br /&gt;[0m&lt;br /&gt;[00:01:04.649,353] [1;31m&amp;lt;err&amp;gt; os: Current thread: 0x20001860 (unknown)[0m&lt;br /&gt;[00:01:05.233,612] [1;31m&amp;lt;err&amp;gt; fatal_error: Resetting system[0m&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/329668?ContentTypeID=1</link><pubDate>Wed, 15 Sep 2021 16:39:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6159726-cf38-454d-a8a3-8f629ffb35ca</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;I will build with --prestine.&lt;/p&gt;
&lt;p&gt;What do you mean by &amp;quot;this approach&amp;quot;?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/329662?ContentTypeID=1</link><pubDate>Wed, 15 Sep 2021 14:58:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71d64c6b-e4ab-4861-938c-66981d2d1e43</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Can you try this approach? Also build with --pristine.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/329659?ContentTypeID=1</link><pubDate>Wed, 15 Sep 2021 14:51:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:740017e4-917a-42fe-8e4f-17cccfadf81d</guid><dc:creator>csteaderman</dc:creator><description>&lt;p&gt;Kenneth,&lt;/p&gt;
&lt;p&gt;I basically did the same thing. The strange thing is that the same binary works on the DK, but throws exceptions on the custom hardware.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MPSL Timer 0 Hard Fault</title><link>https://devzone.nordicsemi.com/thread/329656?ContentTypeID=1</link><pubDate>Wed, 15 Sep 2021 14:45:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec67625f-ffb7-411a-8c45-db78d5c9ad61</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;(EDIT: I noticed I used the nRF51422 as an example, but this should be same for nRF52832.)&lt;/p&gt;
&lt;p&gt;1. Not sure how you have setup your board to use the nRF51822qfab, but I would have simply copied the&amp;nbsp;nrf51dk_nrf51422 board directory to&amp;nbsp;nrf51dk_nrf51422qfab directory.&lt;/p&gt;
&lt;p&gt;2. Renamed the 3 files in the&amp;nbsp;nrf51dk_nrf51422qfab directory to&amp;nbsp;nrf51dk_nrf51422qfab, something like:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/2335.pastedimage1631716351346v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;3. Then finally edit the .dts file to use:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;#include&amp;nbsp;&amp;lt;nordic/nrf51822_qfab.dtsi&amp;gt;&amp;nbsp;//&amp;nbsp;instead&amp;nbsp;of&amp;nbsp;nordic/nrf51822_qfac.dtsi&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Best regards,&lt;br /&gt;Kenneth&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>