<?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>MCUXpresso SDKのトピックRe: How to use CAN drivers with FreeRTOS?</title>
    <link>https://community.nxp.com/t5/MCUXpresso-SDK/How-to-use-CAN-drivers-with-FreeRTOS/m-p/788153#M910</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rick:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For my understanding, the FreeRTOS driver is a wrapper built on top of standard SDK peripheral drivers.&lt;/P&gt;&lt;P&gt;The wrappers provide an API which blocks the calling task until the I/O operation completes and allows other tasks to run. This is achieved by using the asynchronous API of the underlying driver along with RTOS task synchronization object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can refer to the FreeRTOS usart driver in SDK installation folder.&lt;/P&gt;&lt;P&gt;LPCXpresso54618\devices\LPC54618\drivers\fsl_usart_freertos.c&lt;/P&gt;&lt;P&gt;LPCXpresso54618\devices\LPC54618\drivers\fsl_usart.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 Jan 2019 07:21:57 GMT</pubDate>
    <dc:creator>danielchen</dc:creator>
    <dc:date>2019-01-08T07:21:57Z</dc:date>
    <item>
      <title>How to use CAN drivers with FreeRTOS?</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/How-to-use-CAN-drivers-with-FreeRTOS/m-p/788150#M907</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In order to use CAN with FreeRTOS,&amp;nbsp;I have replaced&amp;nbsp;the interrupt handler with my own that includes&amp;nbsp;a semaphore for task switching.&amp;nbsp; I've&amp;nbsp;modified&amp;nbsp;the function MCAN_TransferCreateHandle in fsl_mcan.c in the SDK as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//s_mcanIsr = MCAN_TransferHandleIRQ;&lt;BR /&gt; s_mcanIsr = can_TransferHandleIRQ_FreeRTOS;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also have&amp;nbsp;added the header for my code file to fsl_mcan.c.&amp;nbsp; I'm doing this because s_mcanIsr is defined within the module as a static variable and is used by other driver functions.&amp;nbsp; I really want to do this in a way that does &lt;SPAN style="text-decoration: underline;"&gt;not&lt;/SPAN&gt; modify the fsl_mcan driver.&amp;nbsp; Is there another way to do this without modifying the driver?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rick&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Oct 2018 15:33:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/How-to-use-CAN-drivers-with-FreeRTOS/m-p/788150#M907</guid>
      <dc:creator>skyguy</dc:creator>
      <dc:date>2018-10-12T15:33:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to use CAN drivers with FreeRTOS?</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/How-to-use-CAN-drivers-with-FreeRTOS/m-p/788151#M908</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rick:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please let me know which device you are using and the SDK version?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Oct 2018 15:20:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/How-to-use-CAN-drivers-with-FreeRTOS/m-p/788151#M908</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2018-10-25T15:20:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to use CAN drivers with FreeRTOS?</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/How-to-use-CAN-drivers-with-FreeRTOS/m-p/788152#M909</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Daniel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm targeting the LPC54618J512 (208 pin package) and using SDK version 2.4.0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rick&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Oct 2018 16:58:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/How-to-use-CAN-drivers-with-FreeRTOS/m-p/788152#M909</guid>
      <dc:creator>skyguy</dc:creator>
      <dc:date>2018-10-25T16:58:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to use CAN drivers with FreeRTOS?</title>
      <link>https://community.nxp.com/t5/MCUXpresso-SDK/How-to-use-CAN-drivers-with-FreeRTOS/m-p/788153#M910</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rick:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For my understanding, the FreeRTOS driver is a wrapper built on top of standard SDK peripheral drivers.&lt;/P&gt;&lt;P&gt;The wrappers provide an API which blocks the calling task until the I/O operation completes and allows other tasks to run. This is achieved by using the asynchronous API of the underlying driver along with RTOS task synchronization object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can refer to the FreeRTOS usart driver in SDK installation folder.&lt;/P&gt;&lt;P&gt;LPCXpresso54618\devices\LPC54618\drivers\fsl_usart_freertos.c&lt;/P&gt;&lt;P&gt;LPCXpresso54618\devices\LPC54618\drivers\fsl_usart.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2019 07:21:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-SDK/How-to-use-CAN-drivers-with-FreeRTOS/m-p/788153#M910</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2019-01-08T07:21:57Z</dc:date>
    </item>
  </channel>
</rss>

