<?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>BM-SDK-nRF54L15-IRQ</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/127992/bm-sdk-nrf54l15-irq</link><description>nRF54L15 DK Board 
 BM-SDK-V1.0 
 Hi： 
 I have debugged the IRQ according to the nrfx demo, but now there is an unresolvable error that requires assistance. 
 This is an error printed by RTT： 
 00&amp;gt; [00:00:04.744,266] &amp;lt;err&amp;gt; os: Unhandled IRQn: 219 00&amp;gt;</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 06 May 2026 03:08:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/127992/bm-sdk-nrf54l15-irq" /><item><title>RE: BM-SDK-nRF54L15-IRQ</title><link>https://devzone.nordicsemi.com/thread/565934?ContentTypeID=1</link><pubDate>Wed, 06 May 2026 03:08:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4042cf5c-18e9-4b99-af14-f8c7c8ca909e</guid><dc:creator>liujy</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;/*
 * Copyright (c) 2025 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
 */

#include &amp;lt;zephyr/kernel.h&amp;gt; /* k_busy_wait() */
#include &amp;lt;zephyr/sys_clock.h&amp;gt; /* USEC_PER_MSEC */
#include &amp;lt;zephyr/logging/log.h&amp;gt;
#include &amp;lt;zephyr/logging/log_ctrl.h&amp;gt;

#include &amp;lt;nrfx_gpiote.h&amp;gt;
#include &amp;lt;hal/nrf_gpio.h&amp;gt;


LOG_MODULE_REGISTER(app, CONFIG_APP_LEDS_LOG_LEVEL);

//---------------------------------------------------------------------------------------------
// GPIOTE
#define BUTTON_0                        NRF_PIN_PORT_TO_PIN_NUMBER(13, 1)
#define BUTTON_1                        NRF_PIN_PORT_TO_PIN_NUMBER(9, 1)
#define BUTTON_2                        NRF_PIN_PORT_TO_PIN_NUMBER(8, 1)
#define BUTTON_3                        NRF_PIN_PORT_TO_PIN_NUMBER(4, 0)

#define GPIOTE_INST                     NRF_GPIOTE20
#define CONFIG_APP_GPIOTE_IRQ_PRIO      0


static nrfx_gpiote_t gpiote_inst = NRFX_GPIOTE_INSTANCE(GPIOTE_INST);


static void port_event_handler(nrfx_gpiote_pin_t pin,
                                nrfx_gpiote_trigger_t trigger,
                                void *context)
{
    if (pin == BUTTON_0) {
        LOG_INF(&amp;quot;BUTTON_0&amp;quot;);
    } else if (pin == BUTTON_1) {
        LOG_INF(&amp;quot;BUTTON_1&amp;quot;);

    }
}

ISR_DIRECT_DECLARE(gpiote_20_direct_isr)
{
	 nrfx_gpiote_irq_handler(&amp;amp;gpiote_inst);  
	return 0;
}

void Key_Init(void)
{
    int err;

    IRQ_DIRECT_CONNECT(NRFX_IRQ_NUMBER_GET(GPIOTE_INST),
			   CONFIG_APP_GPIOTE_IRQ_PRIO,
			   gpiote_20_direct_isr, 0);

	irq_enable(NRFX_IRQ_NUMBER_GET(GPIOTE_INST));
    
    err = nrfx_gpiote_init(&amp;amp;gpiote_inst, CONFIG_APP_GPIOTE_IRQ_PRIO);
    if (err) {
        LOG_ERR(&amp;quot;nrfx_gpiote_init error: 0x%08X&amp;quot;, err);
        return;
    }

    nrf_gpio_pin_pull_t pull_config = NRF_GPIO_PIN_PULLUP;

    nrfx_gpiote_trigger_config_t trigger_config = {
        .trigger      = NRFX_GPIOTE_TRIGGER_HITOLO,
        .p_in_channel = NULL,  
    };

    nrfx_gpiote_handler_config_t handler_config = {
        .handler   = port_event_handler,
        .p_context = NULL,
    };

    nrfx_gpiote_input_pin_config_t input_config = {
        .p_pull_config    = &amp;amp;pull_config,
        .p_trigger_config = &amp;amp;trigger_config,
        .p_handler_config = &amp;amp;handler_config,
    };

    err = nrfx_gpiote_input_configure(&amp;amp;gpiote_inst, BUTTON_0, &amp;amp;input_config);
    if (err) {
        LOG_ERR(&amp;quot;BUTTON_0 configure error: 0x%08X&amp;quot;, err);
        return;
    }
    nrfx_gpiote_trigger_enable(&amp;amp;gpiote_inst, BUTTON_0, true);

    err = nrfx_gpiote_input_configure(&amp;amp;gpiote_inst, BUTTON_1, &amp;amp;input_config);
    if (err) {
        LOG_ERR(&amp;quot;BUTTON_1 configure error: 0x%08X&amp;quot;, err);
        return;
    }
    nrfx_gpiote_trigger_enable(&amp;amp;gpiote_inst, BUTTON_1, true);
}

int main(void)
{
	LOG_INF(&amp;quot;LEDs sample started&amp;quot;);

	/* Initialize the KEY */
	
    Key_Init();
	while (true) {
		while (LOG_PROCESS()) {
		}
	}
	return 0;
}
&lt;/pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Sorry, gpiote_30 is to confirm if the error is related to the IO port, from the results it doesn&amp;#39;t seem to have anything to do with it. RTT still shows the same error. The above is the modified code. Initialization and instances are modified according to the reference documentation. Can you help me understand why this error is displayed? Are there any things to keep in mind when using the BM SDK?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thank you&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BM-SDK-nRF54L15-IRQ</title><link>https://devzone.nordicsemi.com/thread/565738?ContentTypeID=1</link><pubDate>Thu, 30 Apr 2026 13:09:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd1ed2b4-94f9-42f3-97d2-0905a74b7edd</guid><dc:creator>Amanda Hsieh</dc:creator><description>&lt;p&gt;Hi Iiu,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In your&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;ISR_DIRECT_DECLARE&lt;/code&gt;, you define&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;gpiote_30_direct_isr&lt;/code&gt;, but in&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;IRQ_DIRECT_CONNECT&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;you reference&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;gpiote_20_direct_isr,&lt;/code&gt;&amp;nbsp;which doesn&amp;#39;t exist. This means the IRQ vector is not properly connected, leading to the &amp;quot;Unhandled IRQn: 219&amp;quot; fatal error when the GPIOTE20 interrupt fires.&amp;nbsp;Additionally, you are using&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;GPIOTE_INST = NRF_GPIOTE20&lt;/code&gt;&lt;span&gt;, but&lt;/span&gt;&amp;nbsp;named your ISR&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code dir="ltr"&gt;gpiote_30_direct_isr.&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Please also check out the example in the&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/nrf-bm-latest/page/nrf-bm/release_notes/release_notes_1.0.0.html#interrupts" rel="noopener noreferrer" target="_blank"&gt;NCS BM v1.0.0 Release Notes&lt;/a&gt;&amp;nbsp;for&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/nrf-bm-latest/page/nrf-bm/release_notes/release_notes_1.0.0.html#interrupts"&gt;Interrupts&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;br /&gt;Amanda H.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BM-SDK-nRF54L15-IRQ</title><link>https://devzone.nordicsemi.com/thread/565734?ContentTypeID=1</link><pubDate>Thu, 30 Apr 2026 12:40:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f9f4ca9a-1824-4b79-bb52-ce5aef321451</guid><dc:creator>liujy</dc:creator><description>&lt;p&gt;Please help me check if there are any issues. Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>