<?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>topic Re: timer callback latency issue in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/timer-callback-latency-issue/m-p/1071708#M8841</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A _jive_internal="true" data-content-finding="Community" data-userid="339794" data-username="vasudhevan@elmeasure.com" href="https://community.nxp.com/people/vasudhevan@elmeasure.com"&gt;Vasudhevan G&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;Thank you for your interest in NXP Semiconductor products and &lt;BR /&gt;for the opportunity to serve you.&lt;BR /&gt;I think the delay issue is caused by GPT interrupt handler be preempted by other tasks or interrupt handlers which have higher priority.&lt;BR /&gt;So I think you should increase the interrupt priority to assure it will be serviced immediately.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt;Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 May 2020 06:42:04 GMT</pubDate>
    <dc:creator>jeremyzhou</dc:creator>
    <dc:date>2020-05-12T06:42:04Z</dc:date>
    <item>
      <title>timer callback latency issue</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/timer-callback-latency-issue/m-p/1071707#M8840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Board = imx rt 1064evk.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; If i run&amp;nbsp;evkmimxrt1064_gpt_timer example code timer generating 1 second delay.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Same code copied into my free rtos project but timer callback calling after 3-5 seconds delay.&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="token function"&gt;GPT_GetDefaultConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;gptConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;GPT_Init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ELMEASURE_GPT&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;gptConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;      &lt;SPAN class="comment token"&gt;/* Initialize GPT module */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;GPT_SetClockDivider&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ELMEASURE_GPT&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;    &lt;SPAN class="comment token"&gt;/* Divide GPT clock source frequency by 3 inside GPT module */&lt;/SPAN&gt;
    gptFreq &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; ELMEASURE_GPT_CLK_FREQ&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;         &lt;SPAN class="comment token"&gt;/* Get GPT clock frequency */&lt;/SPAN&gt;
    gptFreq &lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                             &lt;SPAN class="comment token"&gt;/* GPT frequency is divided by 3 inside module */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;GPT_SetOutputCompareValue&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ELMEASURE_GPT&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kGPT_OutputCompare_Channel1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; gptFreq&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;  &lt;SPAN class="comment token"&gt;/* Set both GPT modules to 1 second duration */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;GPT_EnableInterrupts&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ELMEASURE_GPT&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; kGPT_OutputCompare1InterruptEnable&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;    &lt;SPAN class="comment token"&gt;/* Enable GPT Output Compare1 interrupt */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;NVIC_SetPriority&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPT_IRQ_ID&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/* Enable at the Interrupt */&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;EnableIRQ&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GPT_IRQ_ID&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Why timer callback interrupt latency more ?&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; How to solve this issue ?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Vasu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 May 2020 16:21:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/timer-callback-latency-issue/m-p/1071707#M8840</guid>
      <dc:creator>vasudhevan</dc:creator>
      <dc:date>2020-05-11T16:21:22Z</dc:date>
    </item>
    <item>
      <title>Re: timer callback latency issue</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/timer-callback-latency-issue/m-p/1071708#M8841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A _jive_internal="true" data-content-finding="Community" data-userid="339794" data-username="vasudhevan@elmeasure.com" href="https://community.nxp.com/people/vasudhevan@elmeasure.com"&gt;Vasudhevan G&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;Thank you for your interest in NXP Semiconductor products and &lt;BR /&gt;for the opportunity to serve you.&lt;BR /&gt;I think the delay issue is caused by GPT interrupt handler be preempted by other tasks or interrupt handlers which have higher priority.&lt;BR /&gt;So I think you should increase the interrupt priority to assure it will be serviced immediately.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt;Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 May 2020 06:42:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/timer-callback-latency-issue/m-p/1071708#M8841</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2020-05-12T06:42:04Z</dc:date>
    </item>
    <item>
      <title>Re: timer callback latency issue</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/timer-callback-latency-issue/m-p/1071709#M8842</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/jeremyzhou" rel="nofollow noopener noreferrer" target="_blank"&gt;jeremyzhou&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Sorry for the late reply.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Changed timer interrupt priority to 1.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Still having same issue.&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;NVIC_SetPriority(GPT_IRQ_ID, 1U);/* Enable at the Interrupt */&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;Vasu&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jun 2020 06:56:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/timer-callback-latency-issue/m-p/1071709#M8842</guid>
      <dc:creator>vasudhevan</dc:creator>
      <dc:date>2020-06-23T06:56:22Z</dc:date>
    </item>
    <item>
      <title>Re: timer callback latency issue</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/timer-callback-latency-issue/m-p/1071710#M8843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/jeremyzhou"&gt;jeremyzhou&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;GPT timer not working properly.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Now i have used QTMR for generating 1sec callback function.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;QTMR timer working fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Vasu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jul 2020 10:48:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/timer-callback-latency-issue/m-p/1071710#M8843</guid>
      <dc:creator>vasudhevan</dc:creator>
      <dc:date>2020-07-06T10:48:56Z</dc:date>
    </item>
  </channel>
</rss>

