<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX Processors中的主题 Re: [PLATFORM_SDK]How add gpio interrupt into Platform SDK</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/PLATFORM-SDK-How-add-gpio-interrupt-into-Platform-SDK/m-p/302974#M38494</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi c&lt;SPAN class="j-post-author"&gt;hipexpert&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author"&gt;Thanks for your kindly help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author"&gt;I will learn the attach and check with my test now.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 May 2014 02:15:38 GMT</pubDate>
    <dc:creator>tongchunyang</dc:creator>
    <dc:date>2014-05-22T02:15:38Z</dc:date>
    <item>
      <title>[PLATFORM_SDK]How add gpio interrupt into Platform SDK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PLATFORM-SDK-How-add-gpio-interrupt-into-Platform-SDK/m-p/302972#M38492</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Everyone&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I want to add a gpio interrupt test code into Platform SDK.&lt;/P&gt;&lt;P&gt;And all is run well (Coding/Compiling/Start Runing), but when run time with doing GPIO interrupt there is no response. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Detail:&lt;/P&gt;&lt;P&gt;1, source code in ../sdk/drivers/gpio/test/gpio_interrupt_test.c&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14007215229986440" jivemacro_uid="_14007215229986440" modifiedtitle="true"&gt;
&lt;P&gt;#include "sdk.h"&lt;/P&gt;
&lt;P&gt;#include "gpio/gpio.h"&lt;/P&gt;
&lt;P&gt;#include "core/interrupt.h"&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;#define GPIO5_ICR1&amp;nbsp;&amp;nbsp;&amp;nbsp; ((uint32_t *)(0x20ac00c))&lt;/P&gt;
&lt;P&gt;#define GPIO5_IMR&amp;nbsp;&amp;nbsp;&amp;nbsp; ((uint32_t *)(0x20ac014))&lt;/P&gt;
&lt;P&gt;#define GPIO5_PIN10&amp;nbsp;&amp;nbsp;&amp;nbsp; (10)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;//globals used for gpio_irq_test&lt;/P&gt;
&lt;P&gt;unsigned int gpio_irq_served;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;void gpio_interrupt_handler(void)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("GPIO5 has been interrupted\n");&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio_irq_served = TRUE;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;int gpio_irq_test(void)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Start GPIO5 IRQ test:\n");&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio5_iomux_config();&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gpio_set_direction(GPIO_PORT5, GPIO5_PIN10, GPIO_GDIR_INPUT);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(GPIO5_ICR1) = (uint32_t)0xc00;&amp;nbsp;&amp;nbsp;&amp;nbsp; // GPIO5 ICR1 falling edge for IO5&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(GPIO5_IMR)&amp;nbsp; = (uint32_t)0x20;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // GPIO5 IMR enabling mask for IO5&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* register the IRQ sub-routine */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; register_interrupt_routine(IMX_INT_GPIO5_INT15_0, gpio_interrupt_handler);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enable the IRQ */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; enable_interrupt(IMX_INT_GPIO5_INT15_0, CPU_0, 0);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (gpio_irq_served == FALSE);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return TEST_PASSED;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;]\&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;2, Calling of the function defined above hase been added into all_test.c whitch placed into ../apps/sdk_unit_test/src/&lt;/P&gt;&lt;P&gt;3, Also I have just added the test printf into the source file of interrupt.c, whitch stored at ../sdk/core/src&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_1400722044458590" jivemacro_uid="_1400722044458590" modifiedtitle="true"&gt;
&lt;P&gt;//! @brief Handles IRQ exceptions.
__attribute__ ((interrupt("IRQ")))
void IRQ_HDLR(void)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; // vectNum = RESERVED[31:13] | CPUID[12:10] | INTERRUPT_ID[9:0] 
&amp;nbsp;&amp;nbsp;&amp;nbsp; // send ack and get ID source 
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t vectNum = gic_read_irq_ack();
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&lt;EM style="color: #ff0000;"&gt;printf("[IRQ_HDLR]start, vectNum = 0x%x\n", vectNum);&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4, When compiled finished, I just run the test and got the result like below:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="result.png"&gt;&lt;IMG alt="result.png" src="https://community.nxp.com/t5/image/serverpage/image-id/44276iA1C9871F9331C46E/image-size/large?v=v2&amp;amp;px=999" title="result.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Just like described above, I found that in the Platform_SDK, the interrupt function named &lt;STRONG style="color: #ff0000;"&gt;IRQ_HDLR[intterrupt.c]&lt;/STRONG&gt; could not be executed at all&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #ff0000;"&gt;Could anyone please tell me how to enable interrupt execution about Platform SDK?&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:08:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PLATFORM-SDK-How-add-gpio-interrupt-into-Platform-SDK/m-p/302972#M38492</guid>
      <dc:creator>tongchunyang</dc:creator>
      <dc:date>2020-11-02T13:08:21Z</dc:date>
    </item>
    <item>
      <title>Re: [PLATFORM_SDK]How add gpio interrupt into Platform SDK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PLATFORM-SDK-How-add-gpio-interrupt-into-Platform-SDK/m-p/302973#M38493</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tong&lt;/P&gt;&lt;P&gt;please look at attached code it may help&lt;/P&gt;&lt;P&gt;you (based on SDK).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;chip&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 May 2014 02:09:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PLATFORM-SDK-How-add-gpio-interrupt-into-Platform-SDK/m-p/302973#M38493</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2014-05-22T02:09:15Z</dc:date>
    </item>
    <item>
      <title>Re: [PLATFORM_SDK]How add gpio interrupt into Platform SDK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PLATFORM-SDK-How-add-gpio-interrupt-into-Platform-SDK/m-p/302974#M38494</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi c&lt;SPAN class="j-post-author"&gt;hipexpert&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author"&gt;Thanks for your kindly help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="j-post-author"&gt;I will learn the attach and check with my test now.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 May 2014 02:15:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PLATFORM-SDK-How-add-gpio-interrupt-into-Platform-SDK/m-p/302974#M38494</guid>
      <dc:creator>tongchunyang</dc:creator>
      <dc:date>2014-05-22T02:15:38Z</dc:date>
    </item>
  </channel>
</rss>

