<?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: void vPortEndScheduler( void ) Cortex-M3  implementation? in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/void-vPortEndScheduler-void-Cortex-M3-implementation/m-p/570784#M20282</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by&amp;nbsp; on Thu Apr 19 13:20:00 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If I understand your question correctly, you want to jump from a FreeRTOS application into a boot loader, and at this time stop FreeRTOS running because it is causing a problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If this is the case, I suspect the problem is caused by the RTOS tick interrupt, which will still be executing when you are running your bootloader code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The tick interrupt can be stopped by stopping the SysTick timer, in the CPU core.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If your boot loader does not use interrupts, then a simple fix will be to simply disable interrupts globally before jumping to the bootloader.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;FreeRTOS leaves a sub-set of interrupts completely unaffected by critical sections, therefore, if you bootloader does need interrupts, then enter a critical section (taskENTER_CRITICAL()) before jumping to the boot loader, and set the interrupts used by the bootloader to a priority above the configMAX_SYSCALL_INTERRUPT_PRIORITY setting found in FreeRTOSConfig.h.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 01:01:36 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T01:01:36Z</dc:date>
    <item>
      <title>void vPortEndScheduler( void ) Cortex-M3  implementation?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/void-vPortEndScheduler-void-Cortex-M3-implementation/m-p/570783#M20281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by alanisgp on Wed Apr 18 07:22:42 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; I am using the version of FreeRTOS for Cortex-M3. For an application of secondary bootloader. My application download and save into flash an image of a binary file. Then simply performs an execution jump to that code. I have found that if the code also contains a running FreeRTOS, the program executes an exception and crashes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Need a way to eliminate the trace of the FreeRTOS before making the leap, and thus should use vTaskEndScheduler (), which lacks implementation in point:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; vPortEndScheduler void (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; / * It is Unlikely That the CM3 port will require this function as there&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; is nothing to return to. * /&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; It would be possible to obtain such implementation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Best regards.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:01:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/void-vPortEndScheduler-void-Cortex-M3-implementation/m-p/570783#M20281</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:01:35Z</dc:date>
    </item>
    <item>
      <title>Re: void vPortEndScheduler( void ) Cortex-M3  implementation?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/void-vPortEndScheduler-void-Cortex-M3-implementation/m-p/570784#M20282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by&amp;nbsp; on Thu Apr 19 13:20:00 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If I understand your question correctly, you want to jump from a FreeRTOS application into a boot loader, and at this time stop FreeRTOS running because it is causing a problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If this is the case, I suspect the problem is caused by the RTOS tick interrupt, which will still be executing when you are running your bootloader code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The tick interrupt can be stopped by stopping the SysTick timer, in the CPU core.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If your boot loader does not use interrupts, then a simple fix will be to simply disable interrupts globally before jumping to the bootloader.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;FreeRTOS leaves a sub-set of interrupts completely unaffected by critical sections, therefore, if you bootloader does need interrupts, then enter a critical section (taskENTER_CRITICAL()) before jumping to the boot loader, and set the interrupts used by the bootloader to a priority above the configMAX_SYSCALL_INTERRUPT_PRIORITY setting found in FreeRTOSConfig.h.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:01:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/void-vPortEndScheduler-void-Cortex-M3-implementation/m-p/570784#M20282</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:01:36Z</dc:date>
    </item>
    <item>
      <title>Re: void vPortEndScheduler( void ) Cortex-M3  implementation?</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/void-vPortEndScheduler-void-Cortex-M3-implementation/m-p/570785#M20283</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;A vPortEndScheduler() implementation for ARM Cortex-M devices is described in &lt;A class="link-titled" href="https://mcuoneclipse.com/2019/01/20/freertos-how-to-end-and-restart-the-scheduler/" title="https://mcuoneclipse.com/2019/01/20/freertos-how-to-end-and-restart-the-scheduler/"&gt;FreeRTOS: how to End and Restart the Scheduler | MCU on Eclipse&lt;/A&gt;&amp;nbsp; and can be downloaded from the links provided in the article.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps,&lt;/P&gt;&lt;P&gt;Erich&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 20 Jan 2019 09:51:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/void-vPortEndScheduler-void-Cortex-M3-implementation/m-p/570785#M20283</guid>
      <dc:creator>BlackNight</dc:creator>
      <dc:date>2019-01-20T09:51:02Z</dc:date>
    </item>
  </channel>
</rss>

