<?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: Difference between Software/Hardware vector mode in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480314#M2227</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am on vacation right now. I will be back in the office on 1st February. Then I will try to look at the problem. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 25 Jan 2016 16:37:27 GMT</pubDate>
    <dc:creator>martin_kovar</dc:creator>
    <dc:date>2016-01-25T16:37:27Z</dc:date>
    <item>
      <title>Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480305#M2218</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Hello, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm working on a MPC5604B µC and I've some difficulties to do the difference between software vector mode and hardware vector mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where can I find simple &lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;explanations about the difference between the both interrupt vector modes ?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;Thanks.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jan 2016 12:27:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480305#M2218</guid>
      <dc:creator>jean-christoph7</dc:creator>
      <dc:date>2016-01-11T12:27:46Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480306#M2219</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;look at this application note:&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.nxp.com/files/32bit/doc/app_note/AN2865.pdf?fsrch=1&amp;amp;sr=6&amp;amp;pageNum=1" title="http://cache.nxp.com/files/32bit/doc/app_note/AN2865.pdf?fsrch=1&amp;amp;sr=6&amp;amp;pageNum=1"&gt;http://cache.nxp.com/files/32bit/doc/app_note/AN2865.pdf?fsrch=1&amp;amp;sr=6&amp;amp;pageNum=1&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chapters 4, 5, 6 and 7 describe how the interrupt modes work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can also look at Bolero reference manual chapter 16.4.1.1 and 16.4.1.2:&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.nxp.com/files/32bit/doc/ref_manual/MPC5604BCRM.pdf?fsrch=1&amp;amp;sr=5&amp;amp;pageNum=1" title="http://cache.nxp.com/files/32bit/doc/ref_manual/MPC5604BCRM.pdf?fsrch=1&amp;amp;sr=5&amp;amp;pageNum=1"&gt;http://cache.nxp.com/files/32bit/doc/ref_manual/MPC5604BCRM.pdf?fsrch=1&amp;amp;sr=5&amp;amp;pageNum=1&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have any other questions please feel free to write me back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jan 2016 13:10:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480306#M2219</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2016-01-11T13:10:00Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480307#M2220</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;tell me if&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;I understand&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/SPAN&gt; correctly:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In software mode, we handle all ISR save/restore context with the same mechannism&amp;nbsp; then in hardware mode, we can handle every ISR save/restore context with a specify mechanism.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there other difference?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jan 2016 13:44:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480307#M2220</guid>
      <dc:creator>jean-christoph7</dc:creator>
      <dc:date>2016-01-11T13:44:05Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480308#M2221</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, you understand correct. But there also other differences.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In software vector mode, address of the common handler is composed of IVPR + IVOR4. Common handler must identify the interrupt source by reading INTC_IACKR register. This register consist of Vector Table Base Address and Interrupt Vector address. These two addresses are concatenated to select the desire ISR (interrupt service routine) entry in the vector table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In hardware vector mode INTC_IACKER does not need to be read. Address of the interrupt service routine is composed of IVPR and interrupt vector source number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The advantage of the software vector mode is that all interrupts can share common prolog and epilog. This can reduce code size when a large number registers need to be saved.&lt;/P&gt;&lt;P&gt;The advantage of the hardware vector mode is that it reduces interrupt latency because of address composing and also prologs and epilogs can have different length (can be shorter) for every ISR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jan 2016 15:10:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480308#M2221</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2016-01-11T15:10:52Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480309#M2222</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does a SW vector table exist for MPC5604B?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jan 2016 15:26:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480309#M2222</guid>
      <dc:creator>jean-christoph7</dc:creator>
      <dc:date>2016-01-11T15:26:23Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480310#M2223</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you use CodeWarrior, you do not have to deal with SW vector table. All is prepared for your work. If you do not use CodeWarrior, please look at the application&amp;nbsp; note mentioned above, chapter 4.3.3 or 6.3.3 &lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;according to &lt;/SPAN&gt;&lt;SPAN class="hps"&gt;use BookE or VLE instruction set.&lt;/SPAN&gt;&lt;SPAN class="hps"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;Regards,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="short_text" lang="en"&gt;&lt;SPAN class="hps"&gt;Martin&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jan 2016 18:12:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480310#M2223</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2016-01-11T18:12:03Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480311#M2224</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used&amp;nbsp; chapter 4.3.3 to create my interupt vector table with Codewarrior, but in this example, there is not the "Internal FLASH linker command file"&amp;nbsp; (MPC56xx_FLASH.lcf) to define the memory area to store the table.&lt;/P&gt;&lt;P&gt;Do you have a file *.lcf exemple&amp;nbsp; to define an interrupt vector table in ROM (not in RAM).&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jan 2016 07:08:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480311#M2224</guid>
      <dc:creator>jean-christoph7</dc:creator>
      <dc:date>2016-01-14T07:08:17Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480312#M2225</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;look at the attached example. This example was created for TRK-MPC5604B. There are some points which has to be configured:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1)&amp;nbsp;&amp;nbsp;&amp;nbsp; In linker file is created section flash_handler which has to be aligned to 2KB and LOAD directive __flash_handler. Internal flash section&amp;nbsp; is moved to 5000.&lt;/P&gt;&lt;P&gt;2)&amp;nbsp;&amp;nbsp;&amp;nbsp; In file vector_MPC5606BK.c is changed pragma section.&lt;/P&gt;&lt;P&gt;3)&amp;nbsp;&amp;nbsp;&amp;nbsp; In the end of file IntcInterrupts.c is INTCInterruptsHandlerTable replaced by vectorTableIsr.&lt;/P&gt;&lt;P&gt;4)&amp;nbsp;&amp;nbsp;&amp;nbsp; In main function is set interrupt priority and base priority is set to 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have another question, feel free to write me back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jan 2016 09:06:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480312#M2225</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2016-01-14T09:06:14Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480313#M2226</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to implement my interrupt table in flash with several ways, but it doesn't work&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried 4 solutions and just one is working but&amp;nbsp; I am not satisfied of this solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1/ In the exemple1 , I create&amp;nbsp; my section before the internal_flash section. I've not error or warning during the compilation, but when I load the code on my board, I go directly in illegal interrupt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MPC5604B_FLASH.lcf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exception_handlers:&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00001000,&amp;nbsp;&amp;nbsp; len = 0x00002000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flash_isr_handler:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00003000,&amp;nbsp;&amp;nbsp; len = 0x00002000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal_flash:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00005000,&amp;nbsp;&amp;nbsp; len = 0x00070000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ivor_branch_table (VLECODE) LOAD(ADDR(exception_handlers)) ALIGN (0x10) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .intc_hw_branch_table (VLECODE) LOAD(_e_ivor_branch_table) ALIGN(0x800) : {}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .__exception_handlers&amp;nbsp; (VLECODE) LOAD(_e_intc_hw_branch_table) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; exception_handlers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .flash_isr_handler LOAD (0x00003000): {} &amp;gt; flash_isr_handler&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;INTS_SwInterrupt.code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma push /* Save the current state */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma section const_type ".__flash_isr_handler" ".__flash_isr_handler"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const INTSInterruptFn INTSSwInterruptsTable[INTS_U8_NUMBER_OF_ISR] =&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;INTS_Interrupt.h&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;extern const INTSInterruptFn INTSSwInterruptsTable[INTS_U8_NUMBER_OF_ISR];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2/ In the exemple2,&amp;nbsp; I've not error or warning during the compilation, but when I load the code on my board, I go directly in illegal interrupt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MPC5604B_FLASH.lcf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exception_handlers:&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00001000,&amp;nbsp;&amp;nbsp; len = 0x00002000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flash_isr_handler:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00003000,&amp;nbsp;&amp;nbsp; len = 0x00002000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal_flash:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00005000,&amp;nbsp;&amp;nbsp; len = 0x00070000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ivor_branch_table (VLECODE) LOAD(ADDR(exception_handlers)) ALIGN (0x10) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .intc_hw_branch_table (VLECODE) LOAD(_e_ivor_branch_table) ALIGN(0x800) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .__exception_handlers&amp;nbsp; (VLECODE) LOAD(_e_intc_hw_branch_table) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; exception_handlers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .__flash_isr_handler ALIGN(2048) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; flash_isr_handler&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;INTS_SwInterrupt.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma push /* Save the current state */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma section const_type ".__flash_isr_handler" ".__flash_isr_handler"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const INTSInterruptFn INTSSwInterruptsTable[INTS_U8_NUMBER_OF_ISR] =&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;INTS_Interrupt.h&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#pragma push&lt;/P&gt;&lt;P&gt;#pragma section const_type ".__flash_isr_handler"&lt;/P&gt;&lt;P&gt;extern const __declspec(section ".__flash_isr_handler") INTSInterruptFn INTSSwInterruptsTable[INTS_U8_NUMBER_OF_ISR];&lt;/P&gt;&lt;P&gt;#pragma pop&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3/ In the exemple3, I shift my section after the internal_flash section before the end of the flash, but when I go in debug mode, nothing happen (no message).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MPC5604B_FLASH.lcf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exception_handlers:&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00001000,&amp;nbsp;&amp;nbsp; len = 0x00002000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal_flash:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00003000,&amp;nbsp;&amp;nbsp; len = 0x00070000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flash_isr_handler:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00073000,&amp;nbsp;&amp;nbsp; len = 0x00002000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .text : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .text_vle (VLECODE) ALIGN(0x08): {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.text)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.text_vle)&lt;/P&gt;&lt;P&gt;&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; .rodata (CONST) : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.rdata)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.rodata)&lt;/P&gt;&lt;P&gt;&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; /* The INTC module for this device contains 217 IRQs.*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .__initialized_flash_isr_handle&amp;nbsp;&amp;nbsp; ALIGN(2048) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .__uninitialized_flash_isr_handle ALIGN(2048) : {}*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ctors : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .dtors : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extab : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extabindex : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; internal_flash&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .__flash_isr_handler ALIGN(2048) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; flash_isr_handler&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;INTS_SwInterrupt.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma push /* Save the current state */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma section const_type ".__flash_isr_handler" ".__flash_isr_handler"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const INTSInterruptFn INTSSwInterruptsTable[INTS_U8_NUMBER_OF_ISR] =&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;INTS_Interrupt.h&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#pragma push&lt;/P&gt;&lt;P&gt;#pragma section const_type ".__flash_isr_handler"&lt;/P&gt;&lt;P&gt;extern const __declspec(section ".__flash_isr_handler") INTSInterruptFn INTSSwInterruptsTable[INTS_U8_NUMBER_OF_ISR];&lt;/P&gt;&lt;P&gt;#pragma pop&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the exemple4, it is working, but I define my interrupt table in the internal_flash section.&lt;/P&gt;&lt;P&gt;But I prefere to create a special section for the interrupt, I'm not satisfied of this solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MPC5604B_FLASH.lcf&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exception_handlers:&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00001000,&amp;nbsp;&amp;nbsp; len = 0x00002000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; internal_flash:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; org = 0x00003000,&amp;nbsp;&amp;nbsp; len = 0x0007D000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; GROUP : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .text : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .text_vle (VLECODE) ALIGN(0x08): {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.text)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.text_vle)&lt;/P&gt;&lt;P&gt;&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; .rodata (CONST) : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.rdata)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.rodata)&lt;/P&gt;&lt;P&gt;&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; /* The INTC module for this device contains 217 IRQs.*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .__initialized_flash_isr_handle&amp;nbsp;&amp;nbsp; ALIGN(2048) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .__uninitialized_flash_isr_handle ALIGN(2048) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ctors : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .dtors : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extab : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extabindex : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; internal_flash&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .__flash_isr_handler ALIGN(2048) : {}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; flash_isr_handler&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;INTS_SwInterrupt.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#pragma push /* Save the current state */&lt;/P&gt;&lt;P&gt;#pragma section data_type ".__initialized_flash_isr_handle" ".__uninitialized_flash_isr_handle"&lt;/P&gt;&lt;P&gt;const INTSInterruptFn INTSSwInterruptsTable[INTS_U8_NUMBER_OF_ISR] =&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;INTS_Interrupt.h&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#pragma push&lt;/P&gt;&lt;P&gt;#pragma section data_type ".__initialized_flash_isr_handle" ".__uninitialized_flash_isr_handle"&lt;/P&gt;&lt;P&gt;extern const __declspec(section ".__initialized_flash_isr_handle") INTSInterruptFn INTSSwInterruptsTable[INTS_U8_NUMBER_OF_ISR];&lt;/P&gt;&lt;P&gt;#pragma pop&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have an idea where does come from the problem?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jan 2016 13:55:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480313#M2226</guid>
      <dc:creator>jean-christoph7</dc:creator>
      <dc:date>2016-01-25T13:55:24Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480314#M2227</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am on vacation right now. I will be back in the office on 1st February. Then I will try to look at the problem. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jan 2016 16:37:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480314#M2227</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2016-01-25T16:37:27Z</dc:date>
    </item>
    <item>
      <title>Re: Difference between Software/Hardware vector mode</title>
      <link>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480315#M2228</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked Example1 code , but I do not see any obvious error. The only one thing I found is Interrupt Vector Table declaration which is different from mine.&amp;nbsp; There should not be any problem if the section is placed in front of flash section. Use the first example and at first, try to look if the vector table is located in the right place in flash. Then check, if there is correct address in INTC IACKR. It should be address 3000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which IDE and compiler do you use? It is possible for you to download CodeWarrior 10.6 and try to recreate first example in this IDE (only the necessary code)? Here is the link for CW 10.6:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.nxp.com/products/software-and-tools/software-development-tools/codewarrior-development-tools/codewarrior-development-studios/codewarrior-for-microcontrollers/codewarrior-for-mcus-eclipse-ide-coldfire-56800-e-dsc-kinetis-freescale-56xx-rs08-s08-s12z-v10.6:CW-MCU10?fsrch=1&amp;amp;sr=1&amp;amp;pageNum=1" title="http://www.nxp.com/products/software-and-tools/software-development-tools/codewarrior-development-tools/codewarrior-development-studios/codewarrior-for-microcontrollers/codewarrior-for-mcus-eclipse-ide-coldfire-56800-e-dsc-kinetis-freescale-56xx-rs08-s08-s12z-v10.6:CW-MCU10?fsrch=1&amp;amp;sr=1&amp;amp;pageNum=1"&gt;CodeWarrior for Microcontrollers-Eclipse IDE|NXP&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Feb 2016 10:25:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/Difference-between-Software-Hardware-vector-mode/m-p/480315#M2228</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2016-02-01T10:25:41Z</dc:date>
    </item>
  </channel>
</rss>

