<?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>Hard fault during interrupt request</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/90177/hard-fault-during-interrupt-request</link><description>I am trying to port a project to an NRF52810. The project uses a bootloader with a modified transport to work with a proprietary RF protocol. The bootloader/app works on the nRF52833 and nRF52840 with different build configurations. 
 The hard fault occurs</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 08 Aug 2022 14:49:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/90177/hard-fault-during-interrupt-request" /><item><title>RE: Hard fault during interrupt request</title><link>https://devzone.nordicsemi.com/thread/380654?ContentTypeID=1</link><pubDate>Mon, 08 Aug 2022 14:49:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b6250d12-76e1-4d3c-993a-bd81924e3b03</guid><dc:creator>jeg223</dc:creator><description>&lt;p&gt;The RAM_START for the app is 0x20000000, but needs to match the bootloader RAM_START=0x20000008.&amp;nbsp; After this change the interrupts in the app work as expected.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Hard fault during interrupt request</title><link>https://devzone.nordicsemi.com/thread/379591?ContentTypeID=1</link><pubDate>Mon, 01 Aug 2022 15:36:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:def98cbc-cf77-4f61-be72-1967cf9a7b79</guid><dc:creator>jeg223</dc:creator><description>&lt;p&gt;The bootloader is not calling that, but I am not using a SoftDevice.&amp;nbsp; When I add it to the nrf_bootloader_app_start function, the device seems hang for a bit then reset.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Hard fault during interrupt request</title><link>https://devzone.nordicsemi.com/thread/378077?ContentTypeID=1</link><pubDate>Thu, 21 Jul 2022 11:51:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b03b788-5366-4da2-b48d-e9a9af825381</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;Have you called this in your bootloader? Something like below&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;uint32_t nrf_dfu_mbr_init_sd(void)
{
    uint32_t ret_val;

    sd_mbr_command_t command =
    {
        .command = SD_MBR_COMMAND_INIT_SD
    };

    ret_val = sd_mbr_command(&amp;amp;command);

    return ret_val;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;For more details, please look at &lt;a href="https://devzone.nordicsemi.com/support-private/support/289911"&gt;this &lt;/a&gt;older thread.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Hard fault during interrupt request</title><link>https://devzone.nordicsemi.com/thread/377944?ContentTypeID=1</link><pubDate>Wed, 20 Jul 2022 20:50:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9259d107-d911-44eb-b1a2-a5ca11ee94ae</guid><dc:creator>jeg223</dc:creator><description>&lt;p&gt;Here is the SCB-&amp;gt;ICSR register after the NVIC_SetPendingIRQ call, but before the interrupt fires:&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/pastedimage1658349293472v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Here it is after the hard fault:&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/pastedimage1658349343519v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Other things that changed in the bootloader are the startup files to use the 52810 versions.&amp;nbsp; I also modified nrf_bootloader_dfu_timers.c to use RTC0.&amp;nbsp; RTC1 is being used by app_timer and there is no RTC2 on the 810.&lt;/p&gt;
&lt;p&gt;The app works when the flash start is 0x0000 instead of 0x1000.&amp;nbsp; If I set flash start to 0x1000 and load the mbr hex without the bootloader, it faults.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Hard fault during interrupt request</title><link>https://devzone.nordicsemi.com/thread/377939?ContentTypeID=1</link><pubDate>Wed, 20 Jul 2022 18:16:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1a64d795-b004-4f51-a1b5-b3eb55ad61b0</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;seems like you are in an interrupt context already when you are trying to trigger another interrupt. Can you check the interrupt number and priority from the&amp;nbsp;SCB-&amp;gt;ICSR register?&lt;/p&gt;
&lt;p&gt;What other changes have you made apart from the memory linker file changes?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Hard fault during interrupt request</title><link>https://devzone.nordicsemi.com/thread/377874?ContentTypeID=1</link><pubDate>Wed, 20 Jul 2022 13:06:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e6fbf5f-d147-478c-ba68-3734c9acac30</guid><dc:creator>jeg223</dc:creator><description>&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/hardfaultinfo.png" /&gt;&lt;/p&gt;
&lt;p&gt;It looks like it is an IBUSERR.&amp;nbsp; The fault happens when the interrupt fires.&amp;nbsp; If I step past the NVIC_SetPendingIRQ(SWI_IRQn); in app_timer.c, there is no fault until I run again.&amp;nbsp; Also, if I try to trigger other interrupts, I get the fault.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Hard fault during interrupt request</title><link>https://devzone.nordicsemi.com/thread/377859?ContentTypeID=1</link><pubDate>Wed, 20 Jul 2022 12:29:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d9ec018e-7145-4c96-a97e-a699333633cd</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;What kind of hardfault do you get? nothing seems obviously wrong in your flash memory layout atleast.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>