<?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: Kinetis relocated vector table program counter in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-relocated-vector-table-program-counter/m-p/448737#M26565</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello William Deshaies:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After reset the KEA MCU always takes the entry point from flash address 0x00000004. For your case, after reset the MCU would always jump to &lt;STRONG&gt;EntryPoint_Boot&lt;/STRONG&gt; and in the code there could be a decision to stay in bootloader or jump immediately to the application (e.g. by reading an external button).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the startup of the application make sure to update the &lt;STRONG&gt;SCB_VTOR&lt;/STRONG&gt; register to point to the application's vector table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards!,&lt;BR /&gt;Jorge Gonzalez&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 15 Sep 2015 01:58:21 GMT</pubDate>
    <dc:creator>Jorge_Gonzalez</dc:creator>
    <dc:date>2015-09-15T01:58:21Z</dc:date>
    <item>
      <title>Kinetis relocated vector table program counter</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-relocated-vector-table-program-counter/m-p/448736#M26564</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using a TRK-KEA128 evalboard and I have made a bootloader. Usually on S08/S12 family of microcontroller, I use the reset vector to start my application since this vector is not redirected. I was planning to do the same with the program counter with the Kinetis, but I don't know if a reset will cause the micro to restart directly at the application instead of the bootloader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ex:&lt;/P&gt;&lt;P&gt;Boot vector table&lt;/P&gt;&lt;P&gt;/* Interrupt vector table */&lt;/P&gt;&lt;P&gt;__attribute__ ((section (".isr_vector_boot"))) const tVectorTable __vect_table =&lt;/P&gt;&lt;P&gt;{ (uint32_t *) 0x1FFFF400,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0x00 0x00000000 -&amp;nbsp; Initial Stack Pointer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ISR name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; num&amp;nbsp;&amp;nbsp;&amp;nbsp; address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (typ_ISRfunc) EntryPoint_Boot, // 0x01 0x00000004 -&amp;nbsp; Initial Program Counter&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;Appl vector table&lt;/P&gt;&lt;P&gt;/* Interrupt vector table */&lt;/P&gt;&lt;P&gt;__attribute__ ((section (".isr_vector_appl"))) const tVectorTable __vect_table =&lt;/P&gt;&lt;P&gt;{ (uint32_t *) 0x1FFFF400,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0x00 0x00004000 -&amp;nbsp; Initial Stack Pointer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ISR name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; num&amp;nbsp;&amp;nbsp;&amp;nbsp; address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (typ_ISRfunc) EntryPoint_Appl, // 0x01 0x00004004 -&amp;nbsp; Initial Program Counter&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;I will than jump to address written in 0x00004004 when in boot to go to the application and than redirect the vector table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My question, if I do that, when a reset occur, do the micro will restart in the boot or the appl?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Sep 2015 13:23:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-relocated-vector-table-program-counter/m-p/448736#M26564</guid>
      <dc:creator>ZdenoQC</dc:creator>
      <dc:date>2015-09-14T13:23:02Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis relocated vector table program counter</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-relocated-vector-table-program-counter/m-p/448737#M26565</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello William Deshaies:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After reset the KEA MCU always takes the entry point from flash address 0x00000004. For your case, after reset the MCU would always jump to &lt;STRONG&gt;EntryPoint_Boot&lt;/STRONG&gt; and in the code there could be a decision to stay in bootloader or jump immediately to the application (e.g. by reading an external button).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the startup of the application make sure to update the &lt;STRONG&gt;SCB_VTOR&lt;/STRONG&gt; register to point to the application's vector table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps!&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards!,&lt;BR /&gt;Jorge Gonzalez&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Sep 2015 01:58:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-relocated-vector-table-program-counter/m-p/448737#M26565</guid>
      <dc:creator>Jorge_Gonzalez</dc:creator>
      <dc:date>2015-09-15T01:58:21Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis relocated vector table program counter</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-relocated-vector-table-program-counter/m-p/448738#M26566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; How do i do that&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;In the startup of the application to update the &lt;/SPAN&gt;&lt;STRONG style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: bold;"&gt;SCB_VTOR, &amp;nbsp;&lt;/STRONG&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: bold;"&gt;Can you give me a code snipet for this?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; border: 0px; font-weight: bold;"&gt;And if you can give an example code for blinky with changed linker file to be flashed with bootloader, it will be great?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Feb 2017 15:20:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-relocated-vector-table-program-counter/m-p/448738#M26566</guid>
      <dc:creator>vignesh_vb_7</dc:creator>
      <dc:date>2017-02-24T15:20:59Z</dc:date>
    </item>
  </channel>
</rss>

