<?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: MQX bootloader help / interrupt vectors in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-bootloader-help-interrupt-vectors/m-p/196369#M4085</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ralu,&lt;/P&gt;&lt;P&gt;The USB MSD Bootloader does work on JM128 (ColdFire V1), ColdFire V2, and Kinetis.&lt;/P&gt;&lt;P&gt;Here is information on it and several others as reference material others might like:&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="740"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD valign="top" width="100%"&gt;&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4367.pdf?fsrch=1&amp;amp;sr=5" rel="nofollow" target="_blank"&gt;AN4367 : Ethernet Bootloader for MCU&lt;/A&gt;&lt;/STRONG&gt; (pdf)| &lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4367SW.zip?fsrch=1&amp;amp;sr=5" rel="nofollow" target="_blank"&gt;&lt;STRONG&gt;AN4367SW&lt;/STRONG&gt;&lt;/A&gt; | &amp;nbsp;&amp;nbsp;&lt;BR /&gt;This document explains how to modify the .lcf and .icf link files of CodeWarrior and IAR IDEs respectively, in order to...&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top" width="100%"&gt;&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4370.pdf?fsrch=1&amp;amp;sr=6" rel="nofollow" target="_blank"&gt;AN4370 : USB DFU Bootloader for MCUs&lt;/A&gt;&lt;/STRONG&gt; (pdf)| &lt;A href="http://www.freescale.com/webapp/sps/download/license.jsp?colCode=AN4370SW&amp;amp;location=null&amp;amp;fsrch=1&amp;amp;sr=6" rel="nofollow" target="_blank"&gt;&lt;STRONG&gt;AN4370SW&lt;/STRONG&gt;&lt;/A&gt; | &amp;nbsp;&amp;nbsp;&lt;BR /&gt;This document demonstrates how DFU fits in an embedded device and gives examples of implementation using a PC with...&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top" width="100%"&gt;&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4368.pdf?fsrch=1&amp;amp;sr=7" rel="nofollow" target="_blank"&gt;AN4368 : USB Mass Storage Device Host Bootloader&lt;/A&gt;&lt;/STRONG&gt; (pdf)| &lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4368SW.zip?fsrch=1&amp;amp;sr=7" rel="nofollow" target="_blank"&gt;&lt;STRONG&gt;AN4368SW&lt;/STRONG&gt;&lt;/A&gt; | &amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;Bootloader&lt;/STRONG&gt; is a small program put into a device that allows user application codes to be programmed to the...&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top" width="100%"&gt;&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4379.pdf?fsrch=1&amp;amp;sr=8" rel="nofollow" target="_blank"&gt;AN4379 : Freescale USB Mass Storage Device Bootloader&lt;/A&gt;&lt;/STRONG&gt; (pdf)| &lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4379SW.zip?fsrch=1&amp;amp;sr=8" rel="nofollow" target="_blank"&gt;&lt;STRONG&gt;AN4379SW&lt;/STRONG&gt;&lt;/A&gt; | &amp;nbsp;&amp;nbsp;&lt;BR /&gt;This application note describes a mass storage device (MSD) USB &lt;STRONG&gt;bootloader&lt;/STRONG&gt; that has been written to work with...&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="102108" class="jive_macro jive_macro_thread default_title" href="https://community.freescale.com/thread/102108" jivemacro="thread" title="https://community.freescale.com/thread/102108"&gt;https://community.freescale.com/thread/102108&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also documents for MQX:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MQX&amp;amp;fpsp=1&amp;amp;tab=Documentation_Tab&amp;amp;tid=m32MQX" rel="nofollow" target="_blank"&gt;http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MQX&amp;amp;fpsp=1&amp;amp;tab=Documentation_Tab&amp;amp;tid=m32MQX&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 Jan 2012 22:33:28 GMT</pubDate>
    <dc:creator>DavidS</dc:creator>
    <dc:date>2012-01-09T22:33:28Z</dc:date>
    <item>
      <title>MQX bootloader help / interrupt vectors</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-bootloader-help-interrupt-vectors/m-p/196368#M4084</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;P&gt;I need bootloder that does not fail. That mean that if you turn off power during update it does not crash. Devices I am working on must be able to upgrade image over some bus (does not matter which) one.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I have done bootloader before whit such feature and this is how it worked.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Memory map (linked file - pseudo code):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;%vectors pointing on jump list: (n vectors)jv1jv2jv3...jvnbootloader code working whitout interrupts (approx 4k)------------------- % this address is fixedjv1: .jmp vector1jv2: .jmp vector2...jv3: .jmp vector nall reamining code&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bootloader is working in way that it figures out if it has valid image in memory device (external flash in my case) and copies that image at address space after &amp;nbsp;end of bootloader where is&lt;/P&gt;&lt;PRE&gt;line jv1: .jmp vector1.&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It is responsibility of main &amp;nbsp;program that enables writing code from bus (eth for instance) to &amp;nbsp;appropriate address in memory.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We can see that this approach does not consume much of flash and can be done ressistant on power faliures.&lt;BR /&gt;&lt;BR /&gt;Now I need something similar in MQX, but i have problems understanding how are vectors mapped.&lt;/P&gt;&lt;P&gt;My cpu is 51JM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Only table i can find is in vectors.c but all vectors there are mapped on&amp;nbsp;DEFAULT_VECTOR which is&amp;nbsp;_int_kernel_isr.&lt;/P&gt;&lt;P&gt;Does MQX maps all interrupts tough this&amp;nbsp;_int_kernel_isr ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Woul be enough if i put only jmp &amp;nbsp;_int_kernel_isr on fixed place out of kernel space and vectors pointing on SP (stack pointer) and PC (program counter), so that they can be changed later if needed.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Thanks&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:51:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-bootloader-help-interrupt-vectors/m-p/196368#M4084</guid>
      <dc:creator>ralu</dc:creator>
      <dc:date>2020-10-29T09:51:46Z</dc:date>
    </item>
    <item>
      <title>Re: MQX bootloader help / interrupt vectors</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-bootloader-help-interrupt-vectors/m-p/196369#M4085</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ralu,&lt;/P&gt;&lt;P&gt;The USB MSD Bootloader does work on JM128 (ColdFire V1), ColdFire V2, and Kinetis.&lt;/P&gt;&lt;P&gt;Here is information on it and several others as reference material others might like:&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" width="740"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD valign="top" width="100%"&gt;&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4367.pdf?fsrch=1&amp;amp;sr=5" rel="nofollow" target="_blank"&gt;AN4367 : Ethernet Bootloader for MCU&lt;/A&gt;&lt;/STRONG&gt; (pdf)| &lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4367SW.zip?fsrch=1&amp;amp;sr=5" rel="nofollow" target="_blank"&gt;&lt;STRONG&gt;AN4367SW&lt;/STRONG&gt;&lt;/A&gt; | &amp;nbsp;&amp;nbsp;&lt;BR /&gt;This document explains how to modify the .lcf and .icf link files of CodeWarrior and IAR IDEs respectively, in order to...&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top" width="100%"&gt;&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4370.pdf?fsrch=1&amp;amp;sr=6" rel="nofollow" target="_blank"&gt;AN4370 : USB DFU Bootloader for MCUs&lt;/A&gt;&lt;/STRONG&gt; (pdf)| &lt;A href="http://www.freescale.com/webapp/sps/download/license.jsp?colCode=AN4370SW&amp;amp;location=null&amp;amp;fsrch=1&amp;amp;sr=6" rel="nofollow" target="_blank"&gt;&lt;STRONG&gt;AN4370SW&lt;/STRONG&gt;&lt;/A&gt; | &amp;nbsp;&amp;nbsp;&lt;BR /&gt;This document demonstrates how DFU fits in an embedded device and gives examples of implementation using a PC with...&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top" width="100%"&gt;&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4368.pdf?fsrch=1&amp;amp;sr=7" rel="nofollow" target="_blank"&gt;AN4368 : USB Mass Storage Device Host Bootloader&lt;/A&gt;&lt;/STRONG&gt; (pdf)| &lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4368SW.zip?fsrch=1&amp;amp;sr=7" rel="nofollow" target="_blank"&gt;&lt;STRONG&gt;AN4368SW&lt;/STRONG&gt;&lt;/A&gt; | &amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;Bootloader&lt;/STRONG&gt; is a small program put into a device that allows user application codes to be programmed to the...&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD valign="top" width="100%"&gt;&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4379.pdf?fsrch=1&amp;amp;sr=8" rel="nofollow" target="_blank"&gt;AN4379 : Freescale USB Mass Storage Device Bootloader&lt;/A&gt;&lt;/STRONG&gt; (pdf)| &lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4379SW.zip?fsrch=1&amp;amp;sr=8" rel="nofollow" target="_blank"&gt;&lt;STRONG&gt;AN4379SW&lt;/STRONG&gt;&lt;/A&gt; | &amp;nbsp;&amp;nbsp;&lt;BR /&gt;This application note describes a mass storage device (MSD) USB &lt;STRONG&gt;bootloader&lt;/STRONG&gt; that has been written to work with...&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="102108" class="jive_macro jive_macro_thread default_title" href="https://community.freescale.com/thread/102108" jivemacro="thread" title="https://community.freescale.com/thread/102108"&gt;https://community.freescale.com/thread/102108&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also documents for MQX:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MQX&amp;amp;fpsp=1&amp;amp;tab=Documentation_Tab&amp;amp;tid=m32MQX" rel="nofollow" target="_blank"&gt;http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MQX&amp;amp;fpsp=1&amp;amp;tab=Documentation_Tab&amp;amp;tid=m32MQX&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jan 2012 22:33:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-bootloader-help-interrupt-vectors/m-p/196369#M4085</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2012-01-09T22:33:28Z</dc:date>
    </item>
  </channel>
</rss>

