<?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: I.MX28 Linux Arm Alignment Trap in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/I-MX28-Linux-Arm-Alignment-Trap/m-p/357470#M50098</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 26 Mar 2015 18:13:13 GMT</pubDate>
    <dc:creator>nathanb_</dc:creator>
    <dc:date>2015-03-26T18:13:13Z</dc:date>
    <item>
      <title>I.MX28 Linux Arm Alignment Trap</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I-MX28-Linux-Arm-Alignment-Trap/m-p/357468#M50096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are currently investigating processors to use in a new product design.&amp;nbsp; I've written some sample code that compiles (with GCC under Linux) and runs seamlessly on ARM Cortex A9 processors from various semiconductor manufacturers (I.MX6, ...) . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When running this code on an I.MX28 EVK, the code seems to function.&amp;nbsp; However, it's slow.&amp;nbsp; It gives a few thousand of these messages in the process of running the test:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; font-size: 13px; background-color: #eeeeee;"&gt;Alignment trap: test (29858) PC=... Instr=... Address=... FSR ...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Looking at the GCC manual, there are mentions of unaligned access traps being enabled and disabled with the &lt;SPAN style="color: #000000; font-family: monospace; font-size: medium;"&gt;-malignment-traps and &lt;SPAN style="color: #000000; font-family: monospace; font-size: medium;"&gt;-mno-alignment-traps &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;options.&amp;nbsp; However, it says that these options do not effect ARM architecture 4 or later.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;The I.MX28 ARM9 architecture is ARMv5, while &lt;/SPAN&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt;Cortex A9 is ARMv7.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt;Both of these are above architecture 4.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;Does anyone have any insight into what could be going on here?&amp;nbsp; What's the difference between these two architectures?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt;We could change the code to explicitly access memory on even boundaries, but if it is unnecessary on newer ARM architectures then we could prefer not to design for an older architecture.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333330154419px; line-height: 1.5em;"&gt;Thanks&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Mar 2015 13:24:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I-MX28-Linux-Arm-Alignment-Trap/m-p/357468#M50096</guid>
      <dc:creator>nathanb_</dc:creator>
      <dc:date>2015-03-04T13:24:50Z</dc:date>
    </item>
    <item>
      <title>Re: I.MX28 Linux Arm Alignment Trap</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I-MX28-Linux-Arm-Alignment-Trap/m-p/357469#M50097</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;&amp;nbsp; “For processors based on ARMv5 or earlier, or ARMv6-M, you must ensure that addresses &lt;BR /&gt; for 4-byte transfers are 4-byte word-aligned, and addresses for 2-byte transfers are 2-byte &lt;BR /&gt; aligned. In ARMv6 and later, except ARMv6-M, unaligned accesses are permitted for LDR, &lt;BR /&gt; LDRH, STR, STRH, LDRSH, LDRT, STRT, LDRSHT, LDRHT, STRHT, and TBH instructions, &lt;BR /&gt; where the architecture supports the instruction”.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;&lt;SPAN&gt;&amp;lt; &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473c/Cihdbfje.html" target="_blank"&gt;http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473c/Cihdbfje.html&lt;/A&gt;&lt;SPAN&gt; &amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Yuri&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>Thu, 05 Mar 2015 05:47:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I-MX28-Linux-Arm-Alignment-Trap/m-p/357469#M50097</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2015-03-05T05:47:58Z</dc:date>
    </item>
    <item>
      <title>Re: I.MX28 Linux Arm Alignment Trap</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/I-MX28-Linux-Arm-Alignment-Trap/m-p/357470#M50098</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Mar 2015 18:13:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/I-MX28-Linux-Arm-Alignment-Trap/m-p/357470#M50098</guid>
      <dc:creator>nathanb_</dc:creator>
      <dc:date>2015-03-26T18:13:13Z</dc:date>
    </item>
  </channel>
</rss>

