<?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: mx233 interrupt vector table (IVT) in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277392#M31196</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN class="GRcorrect"&gt;ARM926EJ-S Technical Reference Manual&lt;/SPAN&gt; has the description for the &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Control Register c1:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;[13] V bit Location of exception vectors:&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;0 = Normal exception vectors selected, address range = 0x0000 0000 to 0x0000 001C&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;1 = High exception vectors selected, address range = 0xFFFF 0000 to 0xFFFF 001C. &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Set to the value of VINITHI on reset.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So you may change the mapping.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jacky&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Mar 2013 08:56:59 GMT</pubDate>
    <dc:creator>JackyAtFreescal</dc:creator>
    <dc:date>2013-03-05T08:56:59Z</dc:date>
    <item>
      <title>mx233 interrupt vector table (IVT)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277391#M31195</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I was testing some code on mx233 the other day and got "SWI" string printed out on debug uart after which processor reboots.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I guessed that this means some code I linked (newlib 1.20.0) used SWI instruction for something, and ocrom caught it and rebooted processor.&lt;/P&gt;&lt;P&gt;To confirm this I went through ton of documents and little less code from different projects, but got almost nowhere.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This I found in mx233 technical manual:&lt;/P&gt;&lt;P&gt;"&lt;/P&gt;&lt;P&gt;The vector table pointing to these interrupts can be located at physical address 0x00000000 or 0xFFFF0000. The i.MX23 maps its 64-Kbyte on-chip ROM to the address 0xFFFF0000 to 0xFFFFFFFF. The core is hardwired to use the high address vector table at hard reset (core port VINITHI =1).&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;"&lt;/P&gt;&lt;P&gt;So, is this mapping only hardwired for hard reset or forever?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm still trying to find out:&lt;/P&gt;&lt;P&gt;- does mx233 support IVT we can set up from code (looks like mx25 and mx28 do)?&lt;/P&gt;&lt;P&gt;- if it does, how is it done? where is the chip register I should write 1 or 0 to so IVT is remapped to 0x00000000?&lt;/P&gt;&lt;P&gt;- if it doesn't, then what ocrom does with abort, undef, swi and exceptions other than irq and fiq? is there a way to handle those other exceptions?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I realize that I must have compiled newlib so that it uses swi for some of 16 (or was it 18?) syscalls we need to implement, I just don't know which one.&lt;/P&gt;&lt;P&gt;I have implemented them all except 3 (kill, exit and can't remember third). Linker was complaining about already defined functions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyway, back to the topic, question is not about newlib, it is about IVT in mx233. Any ideas?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tnx.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2013 01:39:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277391#M31195</guid>
      <dc:creator>nidalp</dc:creator>
      <dc:date>2013-02-28T01:39:41Z</dc:date>
    </item>
    <item>
      <title>Re: mx233 interrupt vector table (IVT)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277392#M31196</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN class="GRcorrect"&gt;ARM926EJ-S Technical Reference Manual&lt;/SPAN&gt; has the description for the &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Control Register c1:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;[13] V bit Location of exception vectors:&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;0 = Normal exception vectors selected, address range = 0x0000 0000 to 0x0000 001C&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;1 = High exception vectors selected, address range = 0xFFFF 0000 to 0xFFFF 001C. &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Set to the value of VINITHI on reset.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So you may change the mapping.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jacky&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Mar 2013 08:56:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277392#M31196</guid>
      <dc:creator>JackyAtFreescal</dc:creator>
      <dc:date>2013-03-05T08:56:59Z</dc:date>
    </item>
    <item>
      <title>Re: mx233 interrupt vector table (IVT)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277393#M31197</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When I were porting U-Boot I have used it properly load SRAM as:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P&gt;options {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; driveTag = 0x00;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flags = 0x01;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;sources {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; u_boot_spl="spl/u-boot-spl.bin";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; u_boot="u-boot.bin";&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;section (0) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load u_boot_spl &amp;gt; 0x0000;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load ivt (entry = 0x0014) &amp;gt; 0x8000;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call 0x8000;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load u_boot &amp;gt; 0x40000100;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call 0x40000100;&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Mar 2013 11:50:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277393#M31197</guid>
      <dc:creator>OtavioSalvador</dc:creator>
      <dc:date>2013-03-05T11:50:47Z</dc:date>
    </item>
    <item>
      <title>Re: mx233 interrupt vector table (IVT)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277394#M31198</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Saw that one too, just wasn't clear is it hardwired or just loaded on reset in iMX233.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Mar 2013 17:26:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277394#M31198</guid>
      <dc:creator>nidalp</dc:creator>
      <dc:date>2013-03-05T17:26:52Z</dc:date>
    </item>
    <item>
      <title>Re: mx233 interrupt vector table (IVT)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277395#M31199</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also one of the things I was looking for in elftosb manual:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how to load ivt in 0x00000000 and rest of the binary in SDRAM?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Didn't find anything like "load ivt (entry = 0x0014) &amp;gt; 0x8000;" in the doc but will give it a try definitely!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Mar 2013 17:29:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277395#M31199</guid>
      <dc:creator>nidalp</dc:creator>
      <dc:date>2013-03-05T17:29:01Z</dc:date>
    </item>
    <item>
      <title>Re: mx233 interrupt vector table (IVT)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277396#M31200</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ah; this was a trick used for the CPU to jump onto the SDRAM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Mar 2013 13:19:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277396#M31200</guid>
      <dc:creator>OtavioSalvador</dc:creator>
      <dc:date>2013-03-06T13:19:16Z</dc:date>
    </item>
    <item>
      <title>Re: mx233 interrupt vector table (IVT)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277397#M31201</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 am looking at the u-boot-spl for OLinuXino-MICRO (iMX233) and trying to understand the booting process&lt;/P&gt;&lt;P&gt;Can somebody explain the following command:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load ivt (entry = 0x0014) &amp;gt; 0x8000;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why 0x14 and why 0x8000?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you in advance,&lt;/P&gt;&lt;P&gt;Valentin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Jan 2014 18:21:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/mx233-interrupt-vector-table-IVT/m-p/277397#M31201</guid>
      <dc:creator>architect</dc:creator>
      <dc:date>2014-01-13T18:21:36Z</dc:date>
    </item>
  </channel>
</rss>

