<?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>NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/90860/ncs-nrf91-using-prs-after-mcuboot-used-spi</link><description>Hi, 
 we are using an nRF9160 on a custom board with NCS 1.8.0. I have been able to reproduce the following behaviour with a nRF9160 DK 1.0 and NCS 1.9.1 
 For our application, we need mcuboot to have its secondary on an external SPI flash. We use SPI3</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 01 Sep 2022 05:10:12 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/90860/ncs-nrf91-using-prs-after-mcuboot-used-spi" /><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/384245?ContentTypeID=1</link><pubDate>Thu, 01 Sep 2022 05:10:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2040438b-08b8-4b7a-9f60-a752f03a8f65</guid><dc:creator>MaLu</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;No worries. Since I also have a lot of other work to do, I also put this on the backburner, since I am not as well acquainted with the inner workings of the SDK/the nRF91 as you and would&amp;nbsp;certainly&amp;nbsp;waste more time than anything.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/384174?ContentTypeID=1</link><pubDate>Wed, 31 Aug 2022 14:04:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:396a199c-a2c3-44f1-a3c1-77eacaa1b296</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Sorry for the delay on this. Have you made any progress lately?&lt;/p&gt;
&lt;p&gt;I will be gone until Monday, but will look into your issue then&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/382809?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2022 06:34:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3534a6c-1a91-4cfb-a7b8-ba671a4dfb68</guid><dc:creator>MaLu</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;at first sight this seems like it&amp;#39;s working at first glance, but I have noticed some strange behaviour still.&lt;/p&gt;
&lt;p&gt;I want to use the SPIM in a blocking way. When I do, then I get what seems infinite twim event handler after a twim xfer.&lt;/p&gt;
&lt;p&gt;I have my new main.c here:&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#include &amp;lt;zephyr.h&amp;gt;
#include &amp;lt;sys/printk.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;nrfx_twim.h&amp;gt;
#include &amp;lt;nrfx_spim.h&amp;gt;
#include &amp;lt;drivers/src/prs/nrfx_prs.h&amp;gt;

nrfx_twim_t sTwimInstance = NRFX_TWIM_INSTANCE(3);
nrfx_spim_t sSpimInstance = NRFX_SPIM_INSTANCE(3);
volatile nrfx_err_t eErr;

nrfx_twim_config_t sDevCfg = 
{
  .scl = 6,                
  .sda = 5,                
  .frequency = NRF_TWIM_FREQ_400K,          
  .interrupt_priority = 7, 
  .hold_bus_uninit = false 
};

nrfx_spim_config_t sDevCfgSpim = 
{
  .sck_pin        = 7,
  .mosi_pin       = 8,
  .miso_pin       = 9,
  .ss_pin         = NRFX_SPIM_PIN_NOT_USED,
  .ss_active_high = false,
  .irq_priority   = 7,
  .orc            = 0xFF,
  .frequency      = NRF_SPIM_FREQ_8M,
  .mode           = NRF_SPIM_MODE_0,
  .bit_order      = NRF_SPIM_BIT_ORDER_MSB_FIRST,
  .miso_pull      = NRF_GPIO_PIN_PULLUP,
};

uint8_t au8Data[16];

nrfx_spim_xfer_desc_t sSpiRxTxData = 
{
  .p_tx_buffer = au8Data,
  .tx_length   = 4,
  .p_rx_buffer = au8Data,
  .rx_length   = 4
};

nrfx_twim_xfer_desc_t sTwiRxTxData = 
{

    .type = NRFX_TWIM_XFER_RX, ///&amp;lt; Type of transfer.
    .address = 123,            ///&amp;lt; Slave address.
    .primary_length = 1,       ///&amp;lt; Number of bytes transferred.
    .secondary_length = 0, ///&amp;lt; Number of bytes transferred.
    .p_primary_buf = au8Data,    ///&amp;lt; Pointer to transferred data.
    .p_secondary_buf = 0,  ///&amp;lt; Pointer to transferred data.
};

nrfx_twim_evt_t sTestEvent;
nrfx_spim_evt_t sTestEventSpi;

K_SEM_DEFINE(sMain_Sem, 0, 1);

static void Main_EvtHandler(const nrfx_twim_evt_t* psEvent, void* pContext)
{
  /* Handler gets called a LOT! (infinitely?) */
  memcpy(&amp;amp;sTestEvent, psEvent, sizeof(nrfx_twim_evt_t));
  k_sem_give(&amp;amp;sMain_Sem);
}

static void Main_TestEvtHandlerSpi(const nrfx_spim_evt_t* psEvent, void* pContext)
{
  memcpy(&amp;amp;sTestEventSpi, psEvent, sizeof(nrfx_spim_evt_t));
  k_sem_give(&amp;amp;sMain_Sem);
}

void main(void)
{
  volatile static uint8_t u8Test123 = 0;
	printk(&amp;quot;Hello World ! %s\n&amp;quot;, CONFIG_BOARD);

  memset(&amp;amp;sTestEvent, 0xA5, sizeof(sTestEvent));
  memset(&amp;amp;sTestEventSpi, 0xA5, sizeof(sTestEventSpi));

#if 1 /* error case 1 */
  IRQ_CONNECT(DT_IRQN(DT_NODELABEL(i2c3)),
		    DT_IRQ(DT_NODELABEL(i2c3), priority),
		    nrfx_isr, nrfx_prs_box_3_irq_handler, 0);

  eErr = nrfx_spim_init(&amp;amp;sSpimInstance, &amp;amp;sDevCfgSpim, NULL, NULL);
  eErr = nrfx_spim_xfer(&amp;amp;sSpimInstance, &amp;amp;sSpiRxTxData, 0); /* xfer necessary to get crash */
  nrfx_spim_uninit(&amp;amp;sSpimInstance);

  k_sleep(K_MSEC(1000));

  eErr = nrfx_twim_init(&amp;amp;sTwimInstance, &amp;amp;sDevCfg, Main_EvtHandler, &amp;amp;sTwimInstance); /* crash */
  nrfx_twim_enable(&amp;amp;sTwimInstance);  
  nrfx_twim_xfer(&amp;amp;sTwimInstance, &amp;amp;sTwiRxTxData, 0);
  k_sem_take(&amp;amp;sMain_Sem, K_MSEC(10000));
  nrfx_twim_uninit(&amp;amp;sTwimInstance);

#else /* error case 2 */

  eErr = nrfx_spim_init(&amp;amp;sSpimInstance, &amp;amp;sDevCfgSpim, Main_TestEvtHandlerSpi, NULL);
  eErr = nrfx_spim_xfer(&amp;amp;sSpimInstance, &amp;amp;sSpiRxTxData, 0);
  k_sem_take(&amp;amp;sMain_Sem, K_MSEC(500)); /* crash */
  nrfx_spim_uninit(&amp;amp;sSpimInstance);

#endif

  /* dummy var for setting breakpoints */
  u8Test123++;
  u8Test123++;
  u8Test123++;
  u8Test123++;
  k_sleep(K_FOREVER);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If spim is used in a non-blocking way, as you have it in your latest snippet, then the Spi handler never gets called (which might make sense, given the IRQ_CONNECT() just connects the i2c, but still).&lt;br /&gt;I need a way to wait for the spi transfer to be finished as well. Either with it being blocking or with it calling a handler which gives a semaphore (like I am doing with twim in my sample here), but for that I need either one to work.&lt;br /&gt;&lt;br /&gt;I tried something like this, but then I get a build error, since an irq can apparently only be connected one time.&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;  IRQ_CONNECT(DT_IRQN(DT_NODELABEL(spi3)),
		    DT_IRQ(DT_NODELABEL(spi3), priority),
		    nrfx_isr, nrfx_prs_box_3_irq_handler, 0);

  eErr = nrfx_spim_init(&amp;amp;sSpimInstance, &amp;amp;sDevCfgSpim, Main_TestEvtHandlerSpi, NULL);
  eErr = nrfx_spim_xfer(&amp;amp;sSpimInstance, &amp;amp;sSpiRxTxData, 0); /* xfer necessary to get crash */
  nrfx_spim_uninit(&amp;amp;sSpimInstance);

  k_sleep(K_MSEC(1000));
  
  IRQ_CONNECT(DT_IRQN(DT_NODELABEL(i2c3)),
		    DT_IRQ(DT_NODELABEL(i2c3), priority),
		    nrfx_isr, nrfx_prs_box_3_irq_handler, 0);

  eErr = nrfx_twim_init(&amp;amp;sTwimInstance, &amp;amp;sDevCfg, Main_EvtHandler, &amp;amp;sTwimInstance); /* crash */
  nrfx_twim_enable(&amp;amp;sTwimInstance);  
  nrfx_twim_xfer(&amp;amp;sTwimInstance, &amp;amp;sTwiRxTxData, 0);
  k_sem_take(&amp;amp;sMain_Sem, K_MSEC(10000));
  nrfx_twim_uninit(&amp;amp;sTwimInstance);&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/382517?ContentTypeID=1</link><pubDate>Sat, 20 Aug 2022 10:24:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2978e30e-b663-46a1-aaf1-3e7377e33a29</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;Try the following main.c:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;/*
 * Copyright (c) 2012-2014 Wind River Systems, Inc.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include &amp;lt;zephyr.h&amp;gt;
#include &amp;lt;sys/printk.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include &amp;lt;nrfx_twim.h&amp;gt;
#include &amp;lt;nrfx_spim.h&amp;gt;
#include &amp;lt;drivers/src/prs/nrfx_prs.h&amp;gt;

nrfx_twim_t sTwimInstance = NRFX_TWIM_INSTANCE(3);
nrfx_spim_t sSpimInstance = NRFX_SPIM_INSTANCE(3);
volatile nrfx_err_t eErr;

nrfx_twim_config_t sDevCfg = 
{
  .scl = 6,                
  .sda = 5,                
  .frequency = NRF_TWIM_FREQ_400K,          
  .interrupt_priority = 7, 
  .hold_bus_uninit = false 
};

nrfx_spim_config_t sDevCfgSpim = 
{
  .sck_pin        = 7,
  .mosi_pin       = 8,
  .miso_pin       = 9,
  .ss_pin         = NRFX_SPIM_PIN_NOT_USED,
  .ss_active_high = false,
  .irq_priority   = 7,
  .orc            = 0xFF,
  .frequency      = NRF_SPIM_FREQ_8M,
  .mode           = NRF_SPIM_MODE_0,
  .bit_order      = NRF_SPIM_BIT_ORDER_MSB_FIRST,
  .miso_pull      = NRF_GPIO_PIN_PULLUP,
};

uint8_t au8Data[16];

nrfx_spim_xfer_desc_t sSpiRxTxData = 
{
  .p_tx_buffer = au8Data,
  .tx_length   = 4,
  .p_rx_buffer = au8Data,
  .rx_length   = 4
};

nrfx_twim_evt_t sTestEvent;
nrfx_spim_evt_t sTestEventSpi;

K_SEM_DEFINE(sMain_Sem, 0, 1);

static void Main_EvtHandler(const nrfx_twim_evt_t* psEvent, void* pContext)
{
  memcpy(&amp;amp;sTestEvent, psEvent, sizeof(nrfx_twim_evt_t));
  k_sem_give(&amp;amp;sMain_Sem);
}

static void Main_TestEvtHandlerSpi(const nrfx_spim_evt_t* psEvent, void* pContext)
{
  memcpy(&amp;amp;sTestEventSpi, psEvent, sizeof(nrfx_spim_evt_t));
  k_sem_give(&amp;amp;sMain_Sem);
}

static void spim_handler(const nrfx_spim_evt_t *p_event, void *p_context)
{
	printk(&amp;quot;spim_handler running\n&amp;quot;);
}


void main(void)
{
	printk(&amp;quot;hello world twim ! %s\n&amp;quot;, CONFIG_BOARD);

#if 1 /* error case 1 */
  IRQ_CONNECT(DT_IRQN(DT_NODELABEL(i2c3)),
		    DT_IRQ(DT_NODELABEL(i2c3), priority),
		    nrfx_isr, nrfx_prs_box_3_irq_handler, 0);

  eErr = nrfx_spim_init(&amp;amp;sSpimInstance, &amp;amp;sDevCfgSpim, spim_handler, NULL);
  eErr = nrfx_spim_xfer(&amp;amp;sSpimInstance, &amp;amp;sSpiRxTxData, 0); /* xfer necessary to get crash */
  nrfx_spim_uninit(&amp;amp;sSpimInstance);

  eErr = nrfx_twim_init(&amp;amp;sTwimInstance, &amp;amp;sDevCfg, Main_EvtHandler, &amp;amp;sTwimInstance); /* crash */
  nrfx_twim_enable(&amp;amp;sTwimInstance);  
  nrfx_twim_uninit(&amp;amp;sTwimInstance);
  printk(&amp;quot;Goes here&amp;quot;);
#else /* error case 2 */

  eErr = nrfx_spim_init(&amp;amp;sSpimInstance, &amp;amp;sDevCfgSpim, Main_TestEvtHandlerSpi, NULL);
  eErr = nrfx_spim_xfer(&amp;amp;sSpimInstance, &amp;amp;sSpiRxTxData, 0);
  k_sem_take(&amp;amp;sMain_Sem, K_MSEC(500)); /* crash */
  nrfx_spim_uninit(&amp;amp;sSpimInstance);

#endif
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;With that I was able to go past&amp;nbsp;nrfx_twim_init() without the program crashing.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/382490?ContentTypeID=1</link><pubDate>Fri, 19 Aug 2022 14:21:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:968aaf30-50ec-4bae-977c-4c27b357f46f</guid><dc:creator>Simon</dc:creator><description>[deleted]&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/382445?ContentTypeID=1</link><pubDate>Fri, 19 Aug 2022 11:47:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:56286b23-7fa0-41d1-bb6e-edd99750f9f9</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;I&amp;#39;m able to reproduce your issue and&amp;nbsp;will look into it today/Monday&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/382377?ContentTypeID=1</link><pubDate>Fri, 19 Aug 2022 07:04:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:26347516-102e-4bf1-b2cb-e1a994d88650</guid><dc:creator>MaLu</dc:creator><description>&lt;p&gt;Hi, sorry for taking so long to reply.&lt;br /&gt;1. yes, I am using the&amp;nbsp;&lt;span&gt;nRF9160dk_nrf9160_ns.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2. your problem is most likely due to this:&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/84093/invalid-private-key-with-ed25519"&gt;Invalid private key with ed25519&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I have changed this in my SDK installation, so of course it works. so It&amp;#39;s my bad.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In my sample project you just need to change signature type to RSA instead of ED25519 in nRF_mcuboot.conf. That should fix it.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/382318?ContentTypeID=1</link><pubDate>Thu, 18 Aug 2022 15:02:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0bb64edb-43fd-4997-983b-01cf674f9357</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;After fixing the first issue a new popped up:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;I: MX25R64: SFDP v 1.6 AP ff with 3 PH
I: PH0: ff00 rev 1.6: 16 DW @ 30
I: MX25R64: 8 MiBy flash
I: PH1: ffc2 rev 1.0: 4 DW @ 110
*** Booting Zephyr OS build v2.7.99-ncs1-1  ***
I: Starting bootloader
I: Swap type: none
E: Unable to find bootable image&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Do you not get this?&lt;/p&gt;
&lt;p&gt;I can see that it &lt;a href="https://github.com/nrfconnect/sdk-mcuboot/blob/v1.8.99-ncs1/boot/bootutil/src/loader.c#L2205"&gt;fails to validate the primary slot&lt;/a&gt;,&amp;nbsp;since &lt;a href="https://github.com/nrfconnect/sdk-mcuboot/blob/v1.8.99-ncs1/boot/bootutil/src/loader.c#L727-L728"&gt;both of these statements evaluates to true&lt;/a&gt;. Do you know why it fails here, since you don&amp;#39;t see it on your side?&lt;/p&gt;
&lt;p&gt;It is probably something obvious. I will continue to investigate this tomorrow, so I can reproduce the issue you see.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/382288?ContentTypeID=1</link><pubDate>Thu, 18 Aug 2022 13:10:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4d9df7b1-9ba0-4607-8940-efc6db88be78</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;Ah, I figured out why it failed for me. After enabling log I saw the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;E: SFDP magic 00000000 invalid&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Which comes from the spi_nor driver and means that I&amp;#39;m not able to communicate with external flash&lt;/p&gt;
&lt;p&gt;That is why it failed in &lt;span&gt;boot_read_image_headers(), since it tried to acces the image in the external flash. The reason it failed was because&lt;/span&gt;&amp;nbsp;but I hadn&amp;#39;t programmed the 52840 properly, the 52840 works as a board controller and will connect the external flash to the 9160.&lt;/p&gt;
&lt;p&gt;After programming the nrf9160dk_nrf52840 with&amp;nbsp;&lt;a href="https://github.com/simon-iversen/sdk-nrf/tree/d1a11f2c39e3b8fb0af7652e7e720626f0e1298e/samples/connect_ext_flash_to_9160"&gt;connect_ext_flash_to_9160&lt;/a&gt;&amp;nbsp;I no longer&amp;nbsp;had this issue. Now I will look into your issue.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/381807?ContentTypeID=1</link><pubDate>Tue, 16 Aug 2022 13:37:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:edbbf5a2-940c-4f7f-a1a7-4e2fa3f464f7</guid><dc:creator>Simon</dc:creator><description>&lt;p&gt;What board do you use? nRF9160dk_nrf9160_ns or nrf9160dk_nrf9160? I tested it with &lt;span&gt;nrf9160dk_nrf9160_ns&amp;nbsp;&amp;nbsp;&lt;/span&gt;and then it failed in \bootloader\mcuboot\boot\bootutil\src\loader.c--&amp;gt;boot_read_image_headers(). I then tested with the&amp;nbsp;nrf9160dk_nrf9160 and noticed that it failed in drivers\flash\flash_page_layout.c--&amp;gt; flash_page_foreach(). I used NCS v1.9.1&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;I confirmed this by setting breakpoints before and after these functions and saw that it didn&amp;#39;t hit the breakpoint.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;I&amp;#39;m not sure how you saw that it failed in&amp;nbsp;&amp;nbsp;&lt;code&gt;__STATIC_INLINE&amp;nbsp;void&amp;nbsp;__NVIC_EnableIRQ(IRQn_Type&amp;nbsp;IRQn). &lt;/code&gt;&lt;/span&gt;Could you provide some detailed steps how to reproduce?&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Next step would be to add some RTT/UART logging to see if we can get any hard fault information. I will try to do this and get back to you with my results.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Simon&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/381660?ContentTypeID=1</link><pubDate>Tue, 16 Aug 2022 04:32:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39f6dc27-f6a5-498f-86d8-fe1526722e5b</guid><dc:creator>MaLu</dc:creator><description>&lt;p&gt;Hi Dejan,&lt;/p&gt;
&lt;p&gt;I know. As I said, we use the other function blocks for uart0, uart1 and uart2. The last function block then is used via PRS&lt;br /&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.8.0/zephyr/samples/boards/nrf/nrfx_prs/README.html?highlight=peripheral%20resource%20sharing"&gt;developer.nordicsemi.com/.../README.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/381528?ContentTypeID=1</link><pubDate>Mon, 15 Aug 2022 10:03:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2d825cda-a326-485a-bc05-97e187be17d5</guid><dc:creator>dejans</dc:creator><description>&lt;p&gt;Hi Matthias,&lt;br /&gt;&lt;br /&gt;I2C3 and SPI3 share the same base memory address as you can see in the&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf9160%2Fmemory.html&amp;amp;cp=2_0_0_3_1_1&amp;amp;anchor=topic"&gt;nRF9160 memory instantiation&lt;/a&gt;. Have you tried using different peripheral instances for I2C and SPI?&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Dejan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NCS nRF91: using PRS after mcuboot used SPI</title><link>https://devzone.nordicsemi.com/thread/381235?ContentTypeID=1</link><pubDate>Thu, 11 Aug 2022 16:00:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:98a7574d-db2d-4a9b-860e-9d304e2f5634</guid><dc:creator>dejans</dc:creator><description>&lt;p&gt;Hi Matthias,&lt;br /&gt;&lt;br /&gt;I&amp;#39;ll look into this tomorrow or on Monday.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Dejan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>