<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://test-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>Instruction and Data Fault registers</title><link>https://test-devzone.nordicsemi.com/f/nordic-q-a/88861/instruction-and-data-fault-registers</link><description>I am trying to figure out why my application is generating a hard fault. The hardware platform is nRF52832 and SDK is 17.1.0 
 In my experience, the generic Cortex M3 processor (and most likely the M4 too) has two registers (DFAR and IFAR) that capture</description><dc:language>en-US</dc:language><generator>Telligent Community 13 Non-Production</generator><lastBuildDate>Mon, 13 Jun 2022 14:16:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://test-devzone.nordicsemi.com/f/nordic-q-a/88861/instruction-and-data-fault-registers" /><item><title>RE: Instruction and Data Fault registers</title><link>https://test-devzone.nordicsemi.com/thread/372193?ContentTypeID=1</link><pubDate>Mon, 13 Jun 2022 14:16:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d8c43258-30d8-4b5d-95de-9040f2f22e71</guid><dc:creator>user86158</dc:creator><description>&lt;p&gt;Hi Ovrebekk&lt;/p&gt;
&lt;p&gt;Thanks for the feedback, and yes indeed it is the R4 (and not the M3) as you rightly indicated.&lt;/p&gt;
&lt;p&gt;I will mark my question as answered.&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;RMV&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Instruction and Data Fault registers</title><link>https://test-devzone.nordicsemi.com/thread/372090?ContentTypeID=1</link><pubDate>Mon, 13 Jun 2022 10:50:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:61064781-4b53-4f52-9fca-fcd8050def6f</guid><dc:creator>user2116</dc:creator><description>&lt;p&gt;Hi RMW&lt;/p&gt;
&lt;p&gt;I found a reference to these registers in the Cortex R4, but I don&amp;#39;t think there are any such registers in the M4.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I would recommend using the &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v17.1.0%2Flib_hardfault.html&amp;amp;cp=8_1_3_22"&gt;HardFault handling library&lt;/a&gt; in the nRF5 SDK, then you will get information about the source of errors.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Instruction and Data Fault registers</title><link>https://test-devzone.nordicsemi.com/thread/371958?ContentTypeID=1</link><pubDate>Fri, 10 Jun 2022 20:10:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dbe29466-7087-4176-8bd2-8faf46f4fd70</guid><dc:creator>user86158</dc:creator><description>&lt;p&gt;Just an update..&lt;/p&gt;
&lt;p&gt;I was able to narrow down the root cause of the failure -- through some random trial and error -- that the issue was because I was using two asynchronous and independent schedulers that were completely disconnected and that led to invalid states in my application later on.&lt;/p&gt;
&lt;p&gt;However, I would still like to understand how I can narrow down the offending instruction that triggered an instruction fetch/decode error or a precise/imprecise data access error.&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;RMV&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>