<?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>S12 / MagniV MicrocontrollersのトピックRe: Relocate the INTERRUPT VECTOR</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175557#M6129</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi DAN78&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I assume you are using a bootloader? I am using the same approach: a bootloader in protected flash occupying the address range 0xF800..FFFF. Because the standard vector area is in protected flash, I have relocated my applications vectors to 0xF7xx. In my applications I set the IVBR to 0xF7 before enabling interrupts. But!!!&amp;nbsp;All the Reset-vectors you must handle with your bootloader in the way Lundin suggests. For example the Bootloaders Reset-ISR must, depending of if the bootloader is running or not, either do bootloader-stuff or jump to the address pointed toby the aplications reset-vector (in my case at 0xF7FE).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps you to find your problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sten&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 13 Jan 2011 14:45:14 GMT</pubDate>
    <dc:creator>Sten</dc:creator>
    <dc:date>2011-01-13T14:45:14Z</dc:date>
    <item>
      <title>Relocate the INTERRUPT VECTOR</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175555#M6127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm using CodeWarrior 5.9.0 for my application with MC9S12P128.&lt;/P&gt;&lt;P&gt;In my application I need to relocate the interrupt vector address.&lt;BR /&gt;For example: I need to put the Timer Overflow Interrupt in the location 0x7FDE.&lt;BR /&gt;I've done this by this entry in the .prm file:&lt;BR /&gt;&lt;BR /&gt;VECTOR ADDRESS 0x7FDE TOV_Interrupt&lt;BR /&gt;&lt;BR /&gt;My applicatin runs correctly, even if I reset it by the debugger.&lt;BR /&gt;But if i do an hardware reset turning off the power supply, the application doesn't handle the interrupt correctly and it enters in a infinite loop.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is corretc to use the entry in the .prm file or do I have to use another method?&lt;BR /&gt;&lt;BR /&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jan 2011 18:44:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175555#M6127</guid>
      <dc:creator>dan78</dc:creator>
      <dc:date>2011-01-12T18:44:13Z</dc:date>
    </item>
    <item>
      <title>Re: Relocate the INTERRUPT VECTOR</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175556#M6128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why on earth would you need to move the vector table? This seems like needless obfuscation to me. Even if you are make some mysterious bootloader, I still don't see the need to move the vector table. Flash the vector table when you switch from bootloader to live application.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Or simpler still:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// prm&lt;/P&gt;&lt;P&gt;VECTOR ADDRESS 0xFFDE TOV_Interrupt&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#pragma TRAP_PROC&lt;/P&gt;&lt;P&gt;void TOV_Interrupt (void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(something)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; execute_this();&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; execute_that();&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Jan 2011 22:27:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175556#M6128</guid>
      <dc:creator>Lundin</dc:creator>
      <dc:date>2011-01-12T22:27:01Z</dc:date>
    </item>
    <item>
      <title>Re: Relocate the INTERRUPT VECTOR</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175557#M6129</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi DAN78&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I assume you are using a bootloader? I am using the same approach: a bootloader in protected flash occupying the address range 0xF800..FFFF. Because the standard vector area is in protected flash, I have relocated my applications vectors to 0xF7xx. In my applications I set the IVBR to 0xF7 before enabling interrupts. But!!!&amp;nbsp;All the Reset-vectors you must handle with your bootloader in the way Lundin suggests. For example the Bootloaders Reset-ISR must, depending of if the bootloader is running or not, either do bootloader-stuff or jump to the address pointed toby the aplications reset-vector (in my case at 0xF7FE).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps you to find your problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sten&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Jan 2011 14:45:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175557#M6129</guid>
      <dc:creator>Sten</dc:creator>
      <dc:date>2011-01-13T14:45:14Z</dc:date>
    </item>
    <item>
      <title>Re: Relocate the INTERRUPT VECTOR</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175558#M6130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ludlin,&lt;/P&gt;&lt;P&gt;Yes I've have to use a bootloader.&lt;/P&gt;&lt;P&gt;But I can't flash the vector table when I'm in my main program (bootloader and reset vector are in the same flash bank,&lt;/P&gt;&lt;P&gt;&amp;nbsp;so i want to flash the vector table I have to erase the whole bolck, erasing the bootloader... )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jan 2011 00:58:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175558#M6130</guid>
      <dc:creator>dan78</dc:creator>
      <dc:date>2011-01-14T00:58:41Z</dc:date>
    </item>
    <item>
      <title>Re: Relocate the INTERRUPT VECTOR</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175559#M6131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sten,&lt;/P&gt;&lt;P&gt;I've just done an example like the way you suggested to me and it works.&lt;/P&gt;&lt;P&gt;Thanks a lot!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jan 2011 00:59:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Relocate-the-INTERRUPT-VECTOR/m-p/175559#M6131</guid>
      <dc:creator>dan78</dc:creator>
      <dc:date>2011-01-14T00:59:45Z</dc:date>
    </item>
  </channel>
</rss>

