<?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>MCX Microcontrollers中的主题 Re: How to run the same bootloader from multiple start addresses on i.MX RT1050?</title>
    <link>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-run-the-same-bootloader-from-multiple-start-addresses-on/m-p/2189345#M4250</link>
    <description>&lt;P&gt;Hello &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/255235"&gt;@sachin13t&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Please take a look at the following links that might be useful for you: &lt;A href="https://www.nxp.com/docs/en/application-note/AN12604.pdf" target="_blank" rel="noopener"&gt;Implement Second Bootloader on i.MX RT10xx Series&lt;/A&gt; +&lt;BR /&gt;&lt;A href="https://github.com/nxp-mcuxpresso/sbl/blob/master/component/secure/semifunc/hab_rvt.c" target="_self"&gt;sbl/component/secure/semifunc/hab_rvt.c at master · nxp-mcuxpresso/sbl · GitHub&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;For further information on the Position independent Code, you can refer to the following link:&lt;BR /&gt;&lt;A href="https://mcuoneclipse.com/2021/06/05/position-independent-code-with-gcc-for-arm-cortex-m/#more-28612" target="_blank" rel="noopener"&gt;Position-Independent Code with GCC for ARM Cortex-M | MCU on Eclipse.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;BR,&lt;BR /&gt;IsaulO.&lt;/P&gt;</description>
    <pubDate>Mon, 20 Oct 2025 18:34:01 GMT</pubDate>
    <dc:creator>IsaulO</dc:creator>
    <dc:date>2025-10-20T18:34:01Z</dc:date>
    <item>
      <title>How to run the same bootloader from multiple start addresses on i.MX RT1050?</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-run-the-same-bootloader-from-multiple-start-addresses-on/m-p/2175782#M4114</link>
      <description>&lt;P&gt;Hi NXP Community,&lt;/P&gt;&lt;P&gt;I am working on an &lt;STRONG&gt;i.MX RT1050&lt;/STRONG&gt; project with a single bootloader currently located at 0x60000000 in flash. I want the ability to &lt;STRONG&gt;choose at runtime which start address the bootloader runs from&lt;/STRONG&gt;, essentially executing the same bootloader from &lt;STRONG&gt;two different locations&lt;/STRONG&gt; (e.g., factory and working boot modes).&lt;/P&gt;&lt;P&gt;Constraints and setup:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Only &lt;STRONG&gt;one bootloader image&lt;/STRONG&gt; exists in flash.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;I want to run it from &lt;STRONG&gt;RAM at runtime&lt;/STRONG&gt; to select different start addresses.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;The bootloader is &lt;STRONG&gt;not currently position-independent (PIC)&lt;/STRONG&gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;I have enough RAM allocated (0x80000000, size 2 MB) to hold the bootloader.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I am aware of the approach where:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;Copy the bootloader from flash to RAM.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Set SCB-&amp;gt;VTOR to the new RAM location.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Set MSP to the new bootloader’s stack pointer.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Jump to the reset handler in RAM.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;My questions are:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;Can the i.MX RT1050 safely execute a bootloader from RAM if it is &lt;STRONG&gt;not compiled as PIC&lt;/STRONG&gt;?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;What modifications are needed to make the bootloader &lt;STRONG&gt;position-independent&lt;/STRONG&gt;?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Are there &lt;STRONG&gt;best practices&lt;/STRONG&gt; to implement a runtime-selectable bootloader start address for firmware slots?&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Any guidance, examples, or references would be very helpful.&lt;/P&gt;</description>
      <pubDate>Thu, 25 Sep 2025 11:35:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-run-the-same-bootloader-from-multiple-start-addresses-on/m-p/2175782#M4114</guid>
      <dc:creator>sachin13t</dc:creator>
      <dc:date>2025-09-25T11:35:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to run the same bootloader from multiple start addresses on i.MX RT1050?</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-run-the-same-bootloader-from-multiple-start-addresses-on/m-p/2189345#M4250</link>
      <description>&lt;P&gt;Hello &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/255235"&gt;@sachin13t&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;Please take a look at the following links that might be useful for you: &lt;A href="https://www.nxp.com/docs/en/application-note/AN12604.pdf" target="_blank" rel="noopener"&gt;Implement Second Bootloader on i.MX RT10xx Series&lt;/A&gt; +&lt;BR /&gt;&lt;A href="https://github.com/nxp-mcuxpresso/sbl/blob/master/component/secure/semifunc/hab_rvt.c" target="_self"&gt;sbl/component/secure/semifunc/hab_rvt.c at master · nxp-mcuxpresso/sbl · GitHub&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;For further information on the Position independent Code, you can refer to the following link:&lt;BR /&gt;&lt;A href="https://mcuoneclipse.com/2021/06/05/position-independent-code-with-gcc-for-arm-cortex-m/#more-28612" target="_blank" rel="noopener"&gt;Position-Independent Code with GCC for ARM Cortex-M | MCU on Eclipse.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;BR,&lt;BR /&gt;IsaulO.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Oct 2025 18:34:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-run-the-same-bootloader-from-multiple-start-addresses-on/m-p/2189345#M4250</guid>
      <dc:creator>IsaulO</dc:creator>
      <dc:date>2025-10-20T18:34:01Z</dc:date>
    </item>
  </channel>
</rss>

