<?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: RT1170 ROM app image checking in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2118896#M34516</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/234959"&gt;@Littell&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am sorry for the delayed reply.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The chapter&amp;nbsp; 3&amp;nbsp;XIP boot flow of the&amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/nxp/application-notes/AN12183.pdf" target="_self"&gt;AN12183 How to Enable Debugging for FLEXSPI NOR Flash&lt;/A&gt; does provide a simple overview of bootflow.&amp;nbsp; Also this video complements very well&amp;nbsp;&lt;SPAN&gt;&lt;A href="https://www.youtube.com/watch?v=LeKFrnAaqRs" target="_self"&gt;NXP: MCU Tech Minutes: Boot Options for i.MX RT Crossover MCUs&lt;/A&gt; for me.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Let me provide some of my comments with&amp;nbsp; regards to this:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The Reference Manual Figure 10-3 shows decision points and processes like "IVT header&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;valid?", "Image == XIP?", and "Authenticate Image" - what are the specifics of these checks?&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="diego_charles_0-1750283996729.png" style="width: 706px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/343616iA4092BB9C2CFFC7B/image-dimensions/706x464?v=v2" width="706" height="464" role="button" title="diego_charles_0-1750283996729.png" alt="diego_charles_0-1750283996729.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;About IVT header valid&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you have boot mode pins set to&amp;nbsp; internal boot and boot config pins for XIP. After boot the&amp;nbsp; bootROM will check for the IVT at 0x1000 base address of the booting device.&amp;nbsp;If you are using a blinky demo on the i.MX RT1176, bootROM will go a look for the IVT at 0x3000_1000.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now lets suppose that bootROM finds the IVT, it will proceed to check that the IVT is on the expected format:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="diego_charles_1-1750284130107.png" style="width: 515px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/343617iB4946F7141B21D60/image-dimensions/515x325?v=v2" width="515" height="325" role="button" title="diego_charles_1-1750284130107.png" alt="diego_charles_1-1750284130107.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;It is important that the Tag parameter is met, along the lenght and version.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;About Image == XIP?&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The IVT contains several elements and one of them is the image's entry point. The image entry point is read by bootROM to know in which address will the application execute.&amp;nbsp; If the image entry is set after the IVT space and in the FlexSPI mapped area, the bootROM will know that the image is an XIP image. In other words, if the entry point is above the 0x3000_2000 (for typical blinkly ) and in the FlexSPI address range, you know that the app will be executed from the external flash memory. If the image entry point is set to other address than like 0x8000_0000 (SECM SDRAM for example ), 0x2020_0000 ( internal SRAM ) it means that the image is not an XIP image and will know that it will have to copy flash contents to target RAM , there is image lenght parameter on the IVT.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;About authenticate image&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This is very generic, but it refers to the process of bootROM verifying image signature for secure boot. During development you should not worry about this step. If the image is not not trusted/valid the bootROM will not execute it.&lt;/P&gt;
&lt;P&gt;I hope this still helps. Let me know any other question you may have, David.&lt;/P&gt;
&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Diego&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 18 Jun 2025 22:17:53 GMT</pubDate>
    <dc:creator>diego_charles</dc:creator>
    <dc:date>2025-06-18T22:17:53Z</dc:date>
    <item>
      <title>RT1170 ROM app image checking</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2109687#M34416</link>
      <description>&lt;P&gt;What checks does the RT1170 ROM do before beginning execution of an app image?&amp;nbsp; The Reference Manual Figure 10-3 shows decision points and processes like "IVT header&lt;BR /&gt;valid?", "Image == XIP?", and "Authenticate Image" - what are the specifics of these checks?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Dave&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Jun 2025 16:41:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2109687#M34416</guid>
      <dc:creator>Littell</dc:creator>
      <dc:date>2025-06-03T16:41:09Z</dc:date>
    </item>
    <item>
      <title>Re: RT1170 ROM app image checking</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2112112#M34432</link>
      <description>&lt;P&gt;Hello?&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2025 13:15:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2112112#M34432</guid>
      <dc:creator>Littell</dc:creator>
      <dc:date>2025-06-06T13:15:31Z</dc:date>
    </item>
    <item>
      <title>Re: RT1170 ROM app image checking</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2115575#M34475</link>
      <description>&lt;P&gt;So nobody can explain what this thing is really doing?&lt;/P&gt;</description>
      <pubDate>Thu, 12 Jun 2025 17:20:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2115575#M34475</guid>
      <dc:creator>Littell</dc:creator>
      <dc:date>2025-06-12T17:20:00Z</dc:date>
    </item>
    <item>
      <title>Re: RT1170 ROM app image checking</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2118896#M34516</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/234959"&gt;@Littell&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am sorry for the delayed reply.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The chapter&amp;nbsp; 3&amp;nbsp;XIP boot flow of the&amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/nxp/application-notes/AN12183.pdf" target="_self"&gt;AN12183 How to Enable Debugging for FLEXSPI NOR Flash&lt;/A&gt; does provide a simple overview of bootflow.&amp;nbsp; Also this video complements very well&amp;nbsp;&lt;SPAN&gt;&lt;A href="https://www.youtube.com/watch?v=LeKFrnAaqRs" target="_self"&gt;NXP: MCU Tech Minutes: Boot Options for i.MX RT Crossover MCUs&lt;/A&gt; for me.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Let me provide some of my comments with&amp;nbsp; regards to this:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The Reference Manual Figure 10-3 shows decision points and processes like "IVT header&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;valid?", "Image == XIP?", and "Authenticate Image" - what are the specifics of these checks?&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="diego_charles_0-1750283996729.png" style="width: 706px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/343616iA4092BB9C2CFFC7B/image-dimensions/706x464?v=v2" width="706" height="464" role="button" title="diego_charles_0-1750283996729.png" alt="diego_charles_0-1750283996729.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;About IVT header valid&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you have boot mode pins set to&amp;nbsp; internal boot and boot config pins for XIP. After boot the&amp;nbsp; bootROM will check for the IVT at 0x1000 base address of the booting device.&amp;nbsp;If you are using a blinky demo on the i.MX RT1176, bootROM will go a look for the IVT at 0x3000_1000.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now lets suppose that bootROM finds the IVT, it will proceed to check that the IVT is on the expected format:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="diego_charles_1-1750284130107.png" style="width: 515px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/343617iB4946F7141B21D60/image-dimensions/515x325?v=v2" width="515" height="325" role="button" title="diego_charles_1-1750284130107.png" alt="diego_charles_1-1750284130107.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;It is important that the Tag parameter is met, along the lenght and version.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;About Image == XIP?&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The IVT contains several elements and one of them is the image's entry point. The image entry point is read by bootROM to know in which address will the application execute.&amp;nbsp; If the image entry is set after the IVT space and in the FlexSPI mapped area, the bootROM will know that the image is an XIP image. In other words, if the entry point is above the 0x3000_2000 (for typical blinkly ) and in the FlexSPI address range, you know that the app will be executed from the external flash memory. If the image entry point is set to other address than like 0x8000_0000 (SECM SDRAM for example ), 0x2020_0000 ( internal SRAM ) it means that the image is not an XIP image and will know that it will have to copy flash contents to target RAM , there is image lenght parameter on the IVT.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;About authenticate image&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This is very generic, but it refers to the process of bootROM verifying image signature for secure boot. During development you should not worry about this step. If the image is not not trusted/valid the bootROM will not execute it.&lt;/P&gt;
&lt;P&gt;I hope this still helps. Let me know any other question you may have, David.&lt;/P&gt;
&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Diego&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Jun 2025 22:17:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2118896#M34516</guid>
      <dc:creator>diego_charles</dc:creator>
      <dc:date>2025-06-18T22:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: RT1170 ROM app image checking</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2119480#M34522</link>
      <description>&lt;P&gt;This information is helpful, thank you!&lt;/P&gt;</description>
      <pubDate>Thu, 19 Jun 2025 15:56:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-ROM-app-image-checking/m-p/2119480#M34522</guid>
      <dc:creator>Littell</dc:creator>
      <dc:date>2025-06-19T15:56:50Z</dc:date>
    </item>
  </channel>
</rss>

