<?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 IMX8QXP General Purpose M4 Boot Process in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX8QXP-General-Purpose-M4-Boot-Process/m-p/874708#M132793</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is not clear to me how the SCU boots the general purpose M4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My understanding of Cortex M4 processors is that upon PoR, the the stack pointer and reset handler addresses are fetched at the&amp;nbsp;physical address 0x00000000 (assuming VTOR is always set to 0x00000000 upon PoR). I cannot find anything in Revision A of the reference manual that&amp;nbsp;says how the physical address 0x00000000 from the perspective of the general purpose M4 translates to a physical address from the perspective of the system. Revision D of the reference manual&amp;nbsp;also seems to be lacking this information.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see that the SCU can be instructed to place the image for the general purpose M4 in either the TCM of the general purpose M4, the OCRAM, or lower part of DRAM. However, from the perspective of the general purpose M4, none of these locations map to the physical address 0x00000000. How does the SCU inform the general purpose M4 to find the stack pointer and reset handler addresses at a physical address other than 0x00000000 upon PoR?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 31 Jan 2019 04:58:28 GMT</pubDate>
    <dc:creator>paul_katarzis</dc:creator>
    <dc:date>2019-01-31T04:58:28Z</dc:date>
    <item>
      <title>IMX8QXP General Purpose M4 Boot Process</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8QXP-General-Purpose-M4-Boot-Process/m-p/874708#M132793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is not clear to me how the SCU boots the general purpose M4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My understanding of Cortex M4 processors is that upon PoR, the the stack pointer and reset handler addresses are fetched at the&amp;nbsp;physical address 0x00000000 (assuming VTOR is always set to 0x00000000 upon PoR). I cannot find anything in Revision A of the reference manual that&amp;nbsp;says how the physical address 0x00000000 from the perspective of the general purpose M4 translates to a physical address from the perspective of the system. Revision D of the reference manual&amp;nbsp;also seems to be lacking this information.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I see that the SCU can be instructed to place the image for the general purpose M4 in either the TCM of the general purpose M4, the OCRAM, or lower part of DRAM. However, from the perspective of the general purpose M4, none of these locations map to the physical address 0x00000000. How does the SCU inform the general purpose M4 to find the stack pointer and reset handler addresses at a physical address other than 0x00000000 upon PoR?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2019 04:58:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8QXP-General-Purpose-M4-Boot-Process/m-p/874708#M132793</guid>
      <dc:creator>paul_katarzis</dc:creator>
      <dc:date>2019-01-31T04:58:28Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8QXP General Purpose M4 Boot Process</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8QXP-General-Purpose-M4-Boot-Process/m-p/874709#M132794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Paul&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ona can look at sect.2.2.9 CM4 Memory Map, Boot Chapter i.MX8DQXP Reference Manual and&lt;/P&gt;&lt;P&gt;Table 5-23. Details of how SCU ROM Parses the Offset/Address in the Container Header,&lt;/P&gt;&lt;P&gt;sect.5.9.4.5 Image Restrictions&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/reference-manual/IMX8DQXPRM.pdf"&gt;https://www.nxp.com/docs/en/reference-manual/IMX8DQXPRM.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;and SCFW documentation included in&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.nxp.com/webapp/Download?colCode=L4.14.78_1.0.0_SCFWKIT&amp;amp;appType=license&amp;amp;location=null" target="_blank"&gt;SCFW Porting Kit&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&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>Fri, 01 Feb 2019 01:26:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8QXP-General-Purpose-M4-Boot-Process/m-p/874709#M132794</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2019-02-01T01:26:08Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8QXP General Purpose M4 Boot Process</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8QXP-General-Purpose-M4-Boot-Process/m-p/874710#M132795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Igor,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the information. Based on the documentation you cited, is the following sequence of events roughly correct?&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;The SCU ROM parses the container header for the container holding the general purpose M4 image.&amp;nbsp;In particular, it parses the LoadAddr and Entry fields for the general purpose M4 image.&lt;/LI&gt;&lt;LI&gt;The SCU ROM loads the general purpose M4 image into the location specified by the LoadAddr field.&lt;/LI&gt;&lt;LI&gt;The SCU ROM&amp;nbsp;passes the Entry field to the SCFW.&lt;/LI&gt;&lt;LI&gt;The SCFW instructs the general purpose M4 to boot at the&amp;nbsp;address specified in the Entry field instead of the address 0x00000000.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;If the above is roughly correct, then it is still unclear how (4) is being accomplished. Is the SCFW somehow obtaining access to VTOR in the general purpose M4 and modifying it based on the Entry field before taking the processor out of reset? I see in table 2-22 of Revision D of the reference manual that address 0x00000000 on the general purpose M4 is allocated to the "Default Slave" which is the "S_3" destination slave. What is this? Is the SCFW using this in some way to communicate the boot location to the general purpose M4?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2019 03:48:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8QXP-General-Purpose-M4-Boot-Process/m-p/874710#M132795</guid>
      <dc:creator>paul_katarzis</dc:creator>
      <dc:date>2019-02-01T03:48:28Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8QXP General Purpose M4 Boot Process</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8QXP-General-Purpose-M4-Boot-Process/m-p/874711#M132796</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Paul&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yes this understanding is correct. Unfortunately SCU details, such as&lt;/P&gt;&lt;P&gt;"destination slave" is not available. In general one can consider it as address remapping&lt;/P&gt;&lt;P&gt;so general purpose M4 sees correct start addresses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 02 Feb 2019 03:08:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8QXP-General-Purpose-M4-Boot-Process/m-p/874711#M132796</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2019-02-02T03:08:56Z</dc:date>
    </item>
  </channel>
</rss>

