<?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: Enabling interrupts before FreeRTOS scheduler starts on K64f in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Enabling-interrupts-before-FreeRTOS-scheduler-starts-on-K64f/m-p/736646#M44971</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not sure what code you mentioned. Does the code with CMSIS or KDS? Would you mind to attach the code here and I will help to check. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 12 Feb 2018 05:44:56 GMT</pubDate>
    <dc:creator>miduo</dc:creator>
    <dc:date>2018-02-12T05:44:56Z</dc:date>
    <item>
      <title>Enabling interrupts before FreeRTOS scheduler starts on K64f</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Enabling-interrupts-before-FreeRTOS-scheduler-starts-on-K64f/m-p/736645#M44970</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have been looking through some of the demo code for K64f when using FreeRTOS. I notice one of the example code enables global interrupts before the RTOS scheduler starts. Using this "EnableGlobalIRQ(0)" function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't understand why interrupts need to be enable before the scheduler starts. If anything this can lead to alot of problems.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To my understanding FreeRTOS will enable interrupts when the scheduler starts.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone give some insight into this?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Feb 2018 02:04:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Enabling-interrupts-before-FreeRTOS-scheduler-starts-on-K64f/m-p/736645#M44970</guid>
      <dc:creator>unknowncoder</dc:creator>
      <dc:date>2018-02-12T02:04:57Z</dc:date>
    </item>
    <item>
      <title>Re: Enabling interrupts before FreeRTOS scheduler starts on K64f</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Enabling-interrupts-before-FreeRTOS-scheduler-starts-on-K64f/m-p/736646#M44971</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not sure what code you mentioned. Does the code with CMSIS or KDS? Would you mind to attach the code here and I will help to check. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Feb 2018 05:44:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Enabling-interrupts-before-FreeRTOS-scheduler-starts-on-K64f/m-p/736646#M44971</guid>
      <dc:creator>miduo</dc:creator>
      <dc:date>2018-02-12T05:44:56Z</dc:date>
    </item>
    <item>
      <title>Re: Enabling interrupts before FreeRTOS scheduler starts on K64f</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Enabling-interrupts-before-FreeRTOS-scheduler-starts-on-K64f/m-p/736647#M44972</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Desmond&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FreeRTOS itself will disable interrupts when its initialisation starts (taskENTER_CRITICAL()) and won't enable them again until after the initialisation is complete (in prvPortStartFirstTask() from xPortStartScheduler() [see static UBaseType_t uxCriticalNesting = 0xaaaaaaaa; which ensures they remain blocked during the initialisation to ensure no context switch can be triggered].&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;The pre-initialisation part is something supplied in addition to the kernel which may or may not make use of interrupts before FreeRTOS initialisation.&lt;BR /&gt;Generally there should be no harm in enabling interrupts before, if the environment (which is supplying the port) needs to enable them before.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&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;BR /&gt;&lt;SPAN&gt;Kinetis: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis.html&lt;/A&gt;&lt;BR /&gt;Kinetis K64:&lt;BR /&gt;&lt;SPAN&gt;- &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FFRDM-K64F.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/FRDM-K64F.html&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;- &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FTWR-K64F120M.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/TWR-K64F120M.html&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;- &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FTEENSY_3.5.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/TEENSY_3.5.html&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;- &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis%2FHexiwear-K64F.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/kinetis/Hexiwear-K64F.html&lt;/A&gt;&lt;BR /&gt;Including integrated FreeRTOS v9.0.0 port for all Kinetis parts (KE, KEA, KL, K etc.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Free Open Source solution: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2FuTasker%2FuTasker-Kinetis" rel="nofollow" target="_blank"&gt;https://github.com/uTasker/uTasker-Kinetis&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;Working project in 15 minutes video: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fyoutu.be%2FK8ScSgpgQ6M" rel="nofollow" target="_blank"&gt;https://youtu.be/K8ScSgpgQ6M&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For better, faster, cheaper product developments consider the uTasker developer's version, professional Kinetis support, one-on-one training and complete fast-track project solutions to set you apart from the herd : &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fsupport.html" rel="nofollow" target="_blank"&gt;http://www.utasker.com/support.html&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Feb 2018 07:55:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Enabling-interrupts-before-FreeRTOS-scheduler-starts-on-K64f/m-p/736647#M44972</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-02-12T07:55:28Z</dc:date>
    </item>
    <item>
      <title>Re: Enabling interrupts before FreeRTOS scheduler starts on K64f</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Enabling-interrupts-before-FreeRTOS-scheduler-starts-on-K64f/m-p/736648#M44973</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The example may not have been well thought out, but FreeRTOS will enable global interrupts I can see this happening in the assembly&amp;nbsp;code&amp;nbsp;by calling&amp;nbsp;"cpsie" instruction.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This happens on&amp;nbsp;prvPortStartFirstTask().&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Feb 2018 13:55:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Enabling-interrupts-before-FreeRTOS-scheduler-starts-on-K64f/m-p/736648#M44973</guid>
      <dc:creator>unknowncoder</dc:creator>
      <dc:date>2018-02-12T13:55:21Z</dc:date>
    </item>
  </channel>
</rss>

