<?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: FreeRTOS with CodeWarrior and PE in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471769#M28541</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;&lt;SPAN style="font-family: inherit;"&gt;I see that FreeRTOS has ...FromISR() event functions. I assume these are the ones I'll use to notify my tasks from ISRs?&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Yes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;SPAN style="font-family: inherit;"&gt;Pardon my ignorance, but how should the interrupt priorities be set up? Does the ISR just need to be of lower priority than the RTOS interrupt so that it doesn't block when trying to call a privileged function?&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Exactly!&amp;nbsp; Interrupts that do not interact with the RTOS can be any priority, but those that do must be a lower &lt;EM&gt;logical&lt;/EM&gt; priority than the RTOS itself.&amp;nbsp; A good description is here:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;&lt;A href="http://www.freertos.org/RTOS-Cortex-M3-M4.html"&gt;http://www.freertos.org/RTOS-Cortex-M3-M4.html&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 Mar 2016 20:11:31 GMT</pubDate>
    <dc:creator>elecsmith</dc:creator>
    <dc:date>2016-03-11T20:11:31Z</dc:date>
    <item>
      <title>FreeRTOS with CodeWarrior and PE</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471765#M28537</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Does anyone have any experience with FreeRTOS (particularly on K20 series parts) with CodeWarrior and Processor Expert - &lt;EM&gt;not&lt;/EM&gt; KSDK?&amp;nbsp; I'm having trouble finding any documentation on that configuration, particularly on integration of FreeRTOS BSPs with PE.&amp;nbsp; I've been working with MQX lately but it sounds like FreeRTOS is going to be the better option going forward and if I can I'd like to make the switch before I go too far down a dead end.&amp;nbsp; I'll still be running CW and PE for the sake of maintaining parallel ColdFire projects so KDS/KSDK is not an option.&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;Scott&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Mar 2016 16:35:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471765#M28537</guid>
      <dc:creator>scottm</dc:creator>
      <dc:date>2016-03-11T16:35:06Z</dc:date>
    </item>
    <item>
      <title>Re: FreeRTOS with CodeWarrior and PE</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471766#M28538</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We do not use processor expert in our projects, but we use FreeRTOS in CodeWarrior with K10s/K20s with great success.&amp;nbsp; In general, FreeRTOS does not get in the way of drivers and vice-versa unless you try to interact with the RTOS in driver ISRs.&amp;nbsp; (This is still possible, but you have to make sure that interrupt priorities are set correctly and that you use the correct RTOS functions for ISRs).&amp;nbsp; I have not looked into processor expert, but I do not think that you would have a problem with this.&amp;nbsp; If you have more specific questions, feel free to ask.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Mar 2016 16:58:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471766#M28538</guid>
      <dc:creator>elecsmith</dc:creator>
      <dc:date>2016-03-11T16:58:10Z</dc:date>
    </item>
    <item>
      <title>Re: FreeRTOS with CodeWarrior and PE</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471767#M28539</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the quick reply.&amp;nbsp; Thanks to MCUOnEclipse I was able to get a FreeRTOS "hello world" application running with a minimum of fuss.&amp;nbsp; Still no luck getting the third-party task aware debug to work, but I'll worry about that later.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see that FreeRTOS has ...FromISR() event functions.&amp;nbsp; I assume these are the ones I'll use to notify my tasks from ISRs?&amp;nbsp; Pardon my ignorance, but how should the interrupt priorities be set up?&amp;nbsp; Does the ISR just need to be of lower priority than the RTOS interrupt so that it doesn't block when trying to call a privileged function?&amp;nbsp; The last time I touched FreeRTOS was several years ago and I'm awfully rusty.&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;Scott&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Mar 2016 19:43:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471767#M28539</guid>
      <dc:creator>scottm</dc:creator>
      <dc:date>2016-03-11T19:43:28Z</dc:date>
    </item>
    <item>
      <title>Re: FreeRTOS with CodeWarrior and PE</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471768#M28540</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Scott,&lt;/P&gt;&lt;P&gt;the _FromISR() functions are the ones you are allowed to call from an interrupt context (from an interrupt service routine). Interrupt priorities: The RTOS (SysTick and SV call interrupts) run with the lowest level. On Cortex M0+ the RTOS will block all interrupts. On M4(F) the RTOS will block interrupts up to MAX_SYSCALL level. I highly recommend to read this article:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.freertos.org/RTOS-Cortex-M3-M4.html" title="http://www.freertos.org/RTOS-Cortex-M3-M4.html"&gt;RTOS for ARM Cortex-M&lt;/A&gt; &lt;/P&gt;&lt;P&gt;In conclusion: only call things with _FromISR() from an interrupt, and only do this with interrupts up to &lt;SPAN style="font-family: Arial;"&gt;&lt;A href="http://www.freertos.org/a00110.html#kernel_priority"&gt;configMAX_SYSCALL_INTERRUPT_PRIORITY&lt;/A&gt;&lt;/SPAN&gt; interrupt level.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Other than that: &lt;A href="http://mcuoneclipse.com/2012/11/25/arm-cortex-m0-interrupts-and-freertos/" title="http://mcuoneclipse.com/2012/11/25/arm-cortex-m0-interrupts-and-freertos/"&gt;ARM Cortex-M0+ Interrupts and FreeRTOS | MCU on Eclipse&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Erich&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Mar 2016 20:08:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471768#M28540</guid>
      <dc:creator>BlackNight</dc:creator>
      <dc:date>2016-03-11T20:08:59Z</dc:date>
    </item>
    <item>
      <title>Re: FreeRTOS with CodeWarrior and PE</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471769#M28541</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;&lt;SPAN style="font-family: inherit;"&gt;I see that FreeRTOS has ...FromISR() event functions. I assume these are the ones I'll use to notify my tasks from ISRs?&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Yes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;SPAN style="font-family: inherit;"&gt;Pardon my ignorance, but how should the interrupt priorities be set up? Does the ISR just need to be of lower priority than the RTOS interrupt so that it doesn't block when trying to call a privileged function?&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Exactly!&amp;nbsp; Interrupts that do not interact with the RTOS can be any priority, but those that do must be a lower &lt;EM&gt;logical&lt;/EM&gt; priority than the RTOS itself.&amp;nbsp; A good description is here:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;&lt;A href="http://www.freertos.org/RTOS-Cortex-M3-M4.html"&gt;http://www.freertos.org/RTOS-Cortex-M3-M4.html&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Mar 2016 20:11:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471769#M28541</guid>
      <dc:creator>elecsmith</dc:creator>
      <dc:date>2016-03-11T20:11:31Z</dc:date>
    </item>
    <item>
      <title>Re: FreeRTOS with CodeWarrior and PE</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471770#M28542</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nice to see you again, Erich.&amp;nbsp; You're like a one-man army when it comes to Kinetis and CodeWarrior support.&amp;nbsp; I really ought to set aside some time to read your blog from start to finish - it'd probably have saved me at least that much time by now.&amp;nbsp; I'll definitely have to check out any FreeRTOS USB demos you've got.&amp;nbsp; I think I've got a handle on the interrupt issues but I should take a look at a more complicated example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you tell me if the StateViewer plugin can be made to work with the debugger in CodeWarrior 10.6, or is that only going to work with KDS?&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;Scott&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Mar 2016 21:01:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471770#M28542</guid>
      <dc:creator>scottm</dc:creator>
      <dc:date>2016-03-11T21:01:58Z</dc:date>
    </item>
    <item>
      <title>Re: FreeRTOS with CodeWarrior and PE</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471771#M28543</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Scott,&lt;/P&gt;&lt;P&gt;:-)&lt;/P&gt;&lt;P&gt;About StateViewer: it only works with GDB, not with CodeWarrior. The reason is that CodeWarrior is using a custom debug engine, and the StateViewer API to the debugger only supports the GDB API. KDS does support it (see &lt;A href="http://mcuoneclipse.com/2013/08/04/diy-free-toolchain-for-kinetis-part-5-freertos-eclipse-kernel-awareness-with-gdb/" title="http://mcuoneclipse.com/2013/08/04/diy-free-toolchain-for-kinetis-part-5-freertos-eclipse-kernel-awareness-with-gdb/"&gt;DIY Free Toolchain for Kinetis: Part 5 – FreeRTOS Eclipse Kernel Awareness with GDB | MCU on Eclipse&lt;/A&gt; ) as it is based on GDB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Erich&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 12 Mar 2016 06:38:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471771#M28543</guid>
      <dc:creator>BlackNight</dc:creator>
      <dc:date>2016-03-12T06:38:03Z</dc:date>
    </item>
    <item>
      <title>Re: FreeRTOS with CodeWarrior and PE</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471772#M28544</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yeah, that's what I figured.&amp;nbsp; Oh well... I'll see how it goes without a task-aware debugger.&amp;nbsp; Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Mar 2016 15:15:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471772#M28544</guid>
      <dc:creator>scottm</dc:creator>
      <dc:date>2016-03-14T15:15:24Z</dc:date>
    </item>
    <item>
      <title>Re: FreeRTOS with CodeWarrior and PE</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471773#M28545</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Codewarrior produces ELF files that I believe GDB should be able to use (haven't tried it).&amp;nbsp; You may still be able to compile with Codewarrior and debug with KDS or GDB if you need thread-awareness.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Mar 2016 15:32:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FreeRTOS-with-CodeWarrior-and-PE/m-p/471773#M28545</guid>
      <dc:creator>elecsmith</dc:creator>
      <dc:date>2016-03-14T15:32:24Z</dc:date>
    </item>
  </channel>
</rss>

