<?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>LayerscapeのトピックRe: LS1043A: How to run Aarch32 apps</title>
    <link>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547253#M1375</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;The arm processor should just recognize aarch32 instructions and execute them in that mode.&amp;nbsp; The trick is making the change in state from aarch64 to aarch32 which needs to happen at an exception boundary.&amp;nbsp; So running in aarch64, get an exception at EL1 or EL0 (trap etc), and in that handler have code that is aarch32 run.&amp;nbsp; Easy as falling off a log :smileyhappy: &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 Jun 2016 13:32:11 GMT</pubDate>
    <dc:creator>michelle</dc:creator>
    <dc:date>2016-06-27T13:32:11Z</dc:date>
    <item>
      <title>LS1043A: How to run Aarch32 apps</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547250#M1372</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi,&lt;/P&gt;&lt;P&gt;Is it possible to find code examples for switching Aarch64 mode to Aarch32? (Running Aarch32 baremetal binaries on Cortex-A53).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 19 Jun 2016 13:37:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547250#M1372</guid>
      <dc:creator>alexsels</dc:creator>
      <dc:date>2016-06-19T13:37:29Z</dc:date>
    </item>
    <item>
      <title>Re: LS1043A: How to run Aarch32 apps</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547251#M1373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class="xmsonormal" style="margin-bottom: .0001pt; background: white;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt;"&gt;Use CodeWarrior Development Software for ARM v8 64-bit based QorIQ LS-Series Processors. This CodeWarrior is available on the following page:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="xmsonormal" style="margin-bottom: .0001pt; background: white;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt;"&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fproducts%2Fmicrocontrollers-and-processors%2Farm-processors%2Fqoriq-arm-processors%2Fqoriq-ls1043a-and-ls1023a-multicore-communications-processors%3ALS1043A%3Ffpsp%3D1%26tab%3DDesign_Tools_Tab" rel="nofollow" target="_blank"&gt;http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors/qoriq-ls1043a-and-ls1023a-multicore-communications-processors:LS1043A?fpsp=1&amp;amp;tab=Design_Tools_Tab&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="xmsonormal" style="margin-bottom: .0001pt; background: white;"&gt;&lt;/P&gt;&lt;P class="xmsonormal" style="margin-bottom: .0001pt; background: white;"&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt;"&gt;This CodeWarrior supports &lt;SPAN style="color: black;"&gt;Aarch64 and Aarch32 project. See attached file.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="xmsonormal" style="margin-bottom: .0001pt; background: white;"&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Pavel Chubakov&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, 21 Jun 2016 06:45:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547251#M1373</guid>
      <dc:creator>Pavel</dc:creator>
      <dc:date>2016-06-21T06:45:40Z</dc:date>
    </item>
    <item>
      <title>Re: LS1043A: How to run Aarch32 apps</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547252#M1374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for information.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My question was about code for switching Aarch64 state to Aarch32. When LS1043A-RDB starts, Uboot is running after reset and only if uboot is working,&amp;nbsp; CMSIS-DAP is able connect to target. Uboot is working in Aarch64 and Baremetal application is not able to run in this state. Can you suggest a right way how to switch to Aarch32 state?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 25 Jun 2016 18:25:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547252#M1374</guid>
      <dc:creator>alexsels</dc:creator>
      <dc:date>2016-06-25T18:25:05Z</dc:date>
    </item>
    <item>
      <title>Re: LS1043A: How to run Aarch32 apps</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547253#M1375</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;The arm processor should just recognize aarch32 instructions and execute them in that mode.&amp;nbsp; The trick is making the change in state from aarch64 to aarch32 which needs to happen at an exception boundary.&amp;nbsp; So running in aarch64, get an exception at EL1 or EL0 (trap etc), and in that handler have code that is aarch32 run.&amp;nbsp; Easy as falling off a log :smileyhappy: &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jun 2016 13:32:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547253#M1375</guid>
      <dc:creator>michelle</dc:creator>
      <dc:date>2016-06-27T13:32:11Z</dc:date>
    </item>
    <item>
      <title>Re: LS1043A: How to run Aarch32 apps</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547254#M1376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for answer,&lt;/P&gt;&lt;P&gt;Can you show me a code example how to do this?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jun 2016 16:09:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547254#M1376</guid>
      <dc:creator>alexsels</dc:creator>
      <dc:date>2016-06-27T16:09:37Z</dc:date>
    </item>
    <item>
      <title>Re: LS1043A: How to run Aarch32 apps</title>
      <link>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547255#M1377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Art,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry I don't know of a code example for this in our SDK or otherwise.&amp;nbsp; The procedure in Linux is typically making a syscall to go into the kernel state (EL1) and executing the aarch32 application on return from there.&amp;nbsp; This is done by the libraries by pointing at it with ELR_ELn before executing the ERET instruction.&amp;nbsp; For bare metal it should be similar but you would need to choose the exception to take and code it.&amp;nbsp; I will check with our SDK team to see if they have an example application which does this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jun 2016 17:01:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LS1043A-How-to-run-Aarch32-apps/m-p/547255#M1377</guid>
      <dc:creator>michelle</dc:creator>
      <dc:date>2016-06-27T17:01:21Z</dc:date>
    </item>
  </channel>
</rss>

