<?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>S32 SDKのトピックRe: S32K344 LLD FreeRTOS FlexCAN interrupt issue</title>
    <link>https://community.nxp.com/t5/S32-SDK/S32K344-LLD-FreeRTOS-FlexCAN-interrupt-issue/m-p/1871685#M3767</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;the issue is due to&amp;nbsp;taskENTER_CRITICAL() and taskEXIT_CRITICAL() must not be called from an interrupt service routine (ISR) - see taskENTER_CRITICAL_FROM_ISR() and&amp;nbsp; taskEXIT_CRITICAL_FROM_ISR() for interrupt safe equivalents;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.freertos.org/taskENTER_CRITICAL_taskEXIT_CRITICAL.html" target="_blank" rel="nofollow noopener noreferrer"&gt;https://www.freertos.org/taskENTER_CRITICAL_taskEXIT_CRITICAL.html&lt;/A&gt;&lt;BR /&gt;This &lt;SPAN&gt;will be fixed in the next RTD releases in the future, as far as I know.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;BR, Petr&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 23 May 2024 06:56:57 GMT</pubDate>
    <dc:creator>PetrS</dc:creator>
    <dc:date>2024-05-23T06:56:57Z</dc:date>
    <item>
      <title>S32K344 LLD FreeRTOS FlexCAN interrupt issue</title>
      <link>https://community.nxp.com/t5/S32-SDK/S32K344-LLD-FreeRTOS-FlexCAN-interrupt-issue/m-p/1870576#M3764</link>
      <description>&lt;P&gt;I'm using freertos and flexcan. In the send function of can(FlexCAN_Ip_Send), FlexCAN_SetMsgBuffIntCmd is called to enable the message buffer interrupt. In the FlexCAN_SetMsgBuffIntCmd function, we call SchM_Enter_Can_43_FLEXCAN_CAN_EXCLUSIVE_AREA_18 fun for Start critical section, This function ends up calling taskEXIT_CRITICAL, which is not interrupt-safe, causing the program to get stuck in the vPortEnterCritical function. What should be set up to avoid this situation?&lt;/P&gt;&lt;P&gt;Attached my project&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;void vPortEnterCritical( void )
{
    portDISABLE_INTERRUPTS();
    uxCriticalNesting++;

    /* This is not the interrupt safe version of the enter critical function so
     * assert() if it is being called from an interrupt context.  Only API
     * functions that end in "FromISR" can be used in an interrupt.  Only assert if
     * the critical nesting count is 1 to protect against recursive calls if the
     * assert function also uses a critical section. */
    if( uxCriticalNesting == 1 )
    {
        configASSERT( ( portNVIC_INT_CTRL_REG &amp;amp; portVECTACTIVE_MASK ) == 0 );
    }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 May 2024 09:55:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/S32K344-LLD-FreeRTOS-FlexCAN-interrupt-issue/m-p/1870576#M3764</guid>
      <dc:creator>harryoceana</dc:creator>
      <dc:date>2024-05-22T09:55:58Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 LLD FreeRTOS FlexCAN interrupt issue</title>
      <link>https://community.nxp.com/t5/S32-SDK/S32K344-LLD-FreeRTOS-FlexCAN-interrupt-issue/m-p/1871685#M3767</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;the issue is due to&amp;nbsp;taskENTER_CRITICAL() and taskEXIT_CRITICAL() must not be called from an interrupt service routine (ISR) - see taskENTER_CRITICAL_FROM_ISR() and&amp;nbsp; taskEXIT_CRITICAL_FROM_ISR() for interrupt safe equivalents;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.freertos.org/taskENTER_CRITICAL_taskEXIT_CRITICAL.html" target="_blank" rel="nofollow noopener noreferrer"&gt;https://www.freertos.org/taskENTER_CRITICAL_taskEXIT_CRITICAL.html&lt;/A&gt;&lt;BR /&gt;This &lt;SPAN&gt;will be fixed in the next RTD releases in the future, as far as I know.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;BR, Petr&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 23 May 2024 06:56:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/S32K344-LLD-FreeRTOS-FlexCAN-interrupt-issue/m-p/1871685#M3767</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2024-05-23T06:56:57Z</dc:date>
    </item>
    <item>
      <title>Re: S32K344 LLD FreeRTOS FlexCAN interrupt issue</title>
      <link>https://community.nxp.com/t5/S32-SDK/S32K344-LLD-FreeRTOS-FlexCAN-interrupt-issue/m-p/2079364#M4046</link>
      <description>&lt;P&gt;Has the fixed release been ready?&lt;/P&gt;</description>
      <pubDate>Sat, 12 Apr 2025 07:50:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/S32K344-LLD-FreeRTOS-FlexCAN-interrupt-issue/m-p/2079364#M4046</guid>
      <dc:creator>gan89557</dc:creator>
      <dc:date>2025-04-12T07:50:36Z</dc:date>
    </item>
  </channel>
</rss>

