<?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: Looking for a minimalist approach to programming through serial downloader... in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002123#M6108</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for responding...&lt;/P&gt;&lt;P&gt;I've been working through the 1020 version of that (Flashloader_RT1020_1.0_GA.zip).&amp;nbsp; As far as I can tell, most of it discusses the features of the bootloader itself (rather than the fundamentals of how an image is prepared &amp;amp; loaded onto a bare-metal board), and I don't get a warm and fuzzy feeling when I attempt to build the code right out of the SDK with MCUXpresso and it fails to build (looks like a simple memory map adjustment, but still...).&lt;/P&gt;&lt;P&gt;Anyway, I'm just trying to get over my first complete bare-metal build &amp;amp; install...&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;build a small program&lt;/LI&gt;&lt;LI&gt;post-process the created ELF file (elftosb??)&lt;/LI&gt;&lt;LI&gt;use the ROM serial-downloader to install it&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;then&amp;nbsp;allow the CPU to autoboot from the device that I just installed the program to (internal flash or SPI flash).&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I wanna do this with simple tools (make, gcc and something like imx_usb_loader).&amp;nbsp; Once I can do that, then I'll figure out what (if any) bootloader to use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can do some of this with MCUXpresso and the demo_apps, but its a mystery regarding the post-processing of the elf file (elftosb maybe?) and&amp;nbsp; how it builds and installs the application to the board.&amp;nbsp; Plus, it uses the OpenSDA debugger and I want to start with nothing (just USB and ROM bootloader).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 24 Feb 2020 14:46:24 GMT</pubDate>
    <dc:creator>EdSutter</dc:creator>
    <dc:date>2020-02-24T14:46:24Z</dc:date>
    <item>
      <title>Looking for a minimalist approach to programming through serial downloader...</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002121#M6106</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm working on my first imxRT system (imxRT1020-EVK right now), just trying to understand how to program a "bare" board; ultimately for use on my custom hardware.&amp;nbsp;My goal is to just use the ROM based serial downloader over USB, so I started playing with imx_usb_loader tool from Boundary Devices.&amp;nbsp; Using that I was able to read/write OCRAM, push a character out the LPUART1 interface, etc... Just enough to know that the interface does work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The next step would be to actually push a bootable image to the SPI flash on board; but that gets a bit more complicated.&amp;nbsp; Has anyone used that tool for iMXRT systems?&amp;nbsp; If yes, any tips?&amp;nbsp; If no, what is the common approach for doing this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Seems I can also use MCUXpresso or MfgTool, but I'd prefer to stick with a command line interface if possible.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Feb 2020 22:00:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002121#M6106</guid>
      <dc:creator>EdSutter</dc:creator>
      <dc:date>2020-02-21T22:00:31Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a minimalist approach to programming through serial downloader...</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002122#M6107</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;Try this for various protocols and command line methods: &lt;A class="link-titled" href="https://www.nxp.com/docs/en/supporting-information/Flashloader_i.MXRT1050_GA_updated.zip" title="https://www.nxp.com/docs/en/supporting-information/Flashloader_i.MXRT1050_GA_updated.zip"&gt;https://www.nxp.com/docs/en/supporting-information/Flashloader_i.MXRT1050_GA_updated.zip&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I however have preferred to use &lt;A href="https://github.com/JayHeng/NXP-MCUBootUtility" target="test_blank"&gt;https://github.com/JayHeng/NXP-MCUBootUtility&lt;/A&gt;&lt;BR /&gt;for loading code and reading back memory.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For more comfort you can also install a USB-MSD loader which allows you to program with drag-and-drop: &lt;BR /&gt;&lt;A href="https://www.utasker.com/iMX/RT1020.html" target="test_blank"&gt;https://www.utasker.com/iMX/RT1020.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try loading the application there too since it allows you to dump all internal RAM content and SPI Flash via USB-disk drive and view SPI flash (plus experiment with writing and erasing) from the application (on USB-MSD, Telnet or UART command line menu).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;BR /&gt;&lt;EM&gt;[uTasker project developer for Kinetis and i.MX RT]&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Feb 2020 22:54:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002122#M6107</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2020-02-21T22:54:11Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a minimalist approach to programming through serial downloader...</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002123#M6108</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for responding...&lt;/P&gt;&lt;P&gt;I've been working through the 1020 version of that (Flashloader_RT1020_1.0_GA.zip).&amp;nbsp; As far as I can tell, most of it discusses the features of the bootloader itself (rather than the fundamentals of how an image is prepared &amp;amp; loaded onto a bare-metal board), and I don't get a warm and fuzzy feeling when I attempt to build the code right out of the SDK with MCUXpresso and it fails to build (looks like a simple memory map adjustment, but still...).&lt;/P&gt;&lt;P&gt;Anyway, I'm just trying to get over my first complete bare-metal build &amp;amp; install...&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;build a small program&lt;/LI&gt;&lt;LI&gt;post-process the created ELF file (elftosb??)&lt;/LI&gt;&lt;LI&gt;use the ROM serial-downloader to install it&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;then&amp;nbsp;allow the CPU to autoboot from the device that I just installed the program to (internal flash or SPI flash).&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I wanna do this with simple tools (make, gcc and something like imx_usb_loader).&amp;nbsp; Once I can do that, then I'll figure out what (if any) bootloader to use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can do some of this with MCUXpresso and the demo_apps, but its a mystery regarding the post-processing of the elf file (elftosb maybe?) and&amp;nbsp; how it builds and installs the application to the board.&amp;nbsp; Plus, it uses the OpenSDA debugger and I want to start with nothing (just USB and ROM bootloader).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Feb 2020 14:46:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002123#M6108</guid>
      <dc:creator>EdSutter</dc:creator>
      <dc:date>2020-02-24T14:46:24Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a minimalist approach to programming through serial downloader...</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002124#M6109</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ed,&lt;/P&gt;&lt;P&gt;Hope you are doing well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a couple of resources that can help you get started:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/document/guide/get-started-with-the-mimxrt1020-evk:GS-MIMXRT1020-EVK" title="https://www.nxp.com/document/guide/get-started-with-the-mimxrt1020-evk:GS-MIMXRT1020-EVK"&gt;Get Started with the MIMXRT1020-EVK | NXP&lt;/A&gt;&amp;nbsp;: This one will guide you through step by step to a simple demo.&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://mcuoneclipse.com/2018/08/06/first-steps-with-the-i-mx-rt1020-evk-board/" title="https://mcuoneclipse.com/2018/08/06/first-steps-with-the-i-mx-rt1020-evk-board/"&gt;First Steps with the NXP i.MX RT1020 EVK Board | MCU on Eclipse&lt;/A&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.nxp.com/webapp/Download?colCode=MIMXRT1020HDUG"&gt;Hardware Development Guide&lt;/A&gt;&amp;nbsp;: This is useful for different considerations to be taken in different stages of your application development.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/JayHeng/NXP-MCUBootUtility"&gt;MCU Boot Utility&lt;/A&gt;&amp;nbsp;This is a gui tool that was created to get started with NXP MCU secure boot and support iMRT series.&amp;nbsp;&lt;/P&gt;&lt;P&gt;It supports both UART and USB-HID serial downloader modes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps!&lt;/P&gt;&lt;P&gt;Sabina&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Feb 2020 16:28:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002124#M6109</guid>
      <dc:creator>Sabina_Bruce</dc:creator>
      <dc:date>2020-02-25T16:28:27Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a minimalist approach to programming through serial downloader...</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002125#M6110</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I build with a bat file that calls make. The bat file post processes the output with utilities that create all the files needed: &lt;BR /&gt;&lt;A href="https://www.utasker.com/forum/index.php?topic=1445.0" target="test_blank"&gt;https://www.utasker.com/forum/index.php?topic=1445.0&lt;/A&gt;&lt;/P&gt;&lt;P&gt;including encrypting if required&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I load via the USB ROM loader the first time and, once the serial loader is installed, subsequently with drag and drop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Therefore I double click on the bat. file and drag and drop the generated output on the board, which is much easier and faster than needing multiple tools.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;BR /&gt;&lt;EM&gt;[uTasker project developer for Kinetis and i.MX RT]&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Feb 2020 18:23:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002125#M6110</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2020-02-25T18:23:22Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a minimalist approach to programming through serial downloader...</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002126#M6111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sabina, thanks for responding...&lt;/P&gt;&lt;P&gt;I've actually gone through all three of those walkthroughs.&amp;nbsp; They are helpful to get started with the EVK, but I want to quickly dig deeper to understand how to create a bootable image (some combination of .text/.data/ivt/dcd) that can be pumped over USB using the ROM-based serial loader (without any additional debug interface).&amp;nbsp; Ideally, for this exercise, I want to avoid even using any IDE just so that I can script (and fully understand) all the steps.&lt;/P&gt;&lt;P&gt;Ed&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Feb 2020 18:59:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002126#M6111</guid>
      <dc:creator>EdSutter</dc:creator>
      <dc:date>2020-02-25T18:59:36Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a minimalist approach to programming through serial downloader...</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002127#M6112</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ed,&lt;/P&gt;&lt;P&gt;There is not exactly a step by step guide on what you need. However, I did find other application notes that might lead you in the correct path.&lt;/P&gt;&lt;P&gt;What may be of interest in these documents is the MFGTool, which is a Gui that helps build and load images. It&amp;nbsp;supports I.MXRT BootROM and KBOOT based Flashloader, it can be used in factory production environment.&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/application-note/AN12108.pdf"&gt;AN12108&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/nxp/application-notes/AN12238.pdf"&gt;AN12238&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-341317"&gt;Generate bootable image guide&lt;/A&gt;: This guide explains very useful steps that you may consider it uses mcuxpresso but only to create certain files(it is not used to debug or load the image) so it is focused on using the command line based tool to load the images.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These are for reference as they use the imxRT1050.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Sabina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Feb 2020 03:56:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002127#M6112</guid>
      <dc:creator>Sabina_Bruce</dc:creator>
      <dc:date>2020-02-26T03:56:04Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a minimalist approach to programming through serial downloader...</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002128#M6113</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, I made some progress thanks to pointers from folks on the forum. Right now I'm trying to stick to the tools that NXP provides...&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;elftosb&amp;nbsp;&lt;/STRONG&gt;to create a bootable image from an elf file.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;sdphost&lt;/STRONG&gt; to install flashloader through the ROM serial loader&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;blhost&lt;/STRONG&gt; to install applications through flashloader&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So far I've managed to build/install the flashloader (see &lt;A _jive_internal="true" href="https://community.nxp.com/thread/525697"&gt;this post&lt;/A&gt; for detail).&amp;nbsp; Next I'm going to take the hello-world demo-app, re-map it to SDRAM and attempt to use flashloader to push it into Serial-NOR so that the board will boot up, pull it out of Serial NOR and load it to SDRAM for run-time execution.&amp;nbsp;&amp;nbsp;I read somewhere that XIP execution directly out of FlexSPI-serial-NOR is more efficient than SDRAM; so I may eventually switch to that.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does that make sense or am I totally off track here?&lt;/P&gt;&lt;P&gt;I will continue to track my progress through this for the sake of others that may be stumbling as I am.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2020 21:02:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002128#M6113</guid>
      <dc:creator>EdSutter</dc:creator>
      <dc:date>2020-02-27T21:02:33Z</dc:date>
    </item>
    <item>
      <title>Re: Looking for a minimalist approach to programming through serial downloader...</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002129#M6114</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ed,&lt;/P&gt;&lt;P&gt;Yes you are correct. Here are other documents that will help along this stage.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-341317"&gt;https://community.nxp.com/docs/DOC-341317&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/489971"&gt;A way to create a binary that is copied to RAM from the ROM bootloader in RT1050&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Sabina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Feb 2020 22:10:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Looking-for-a-minimalist-approach-to-programming-through-serial/m-p/1002129#M6114</guid>
      <dc:creator>Sabina_Bruce</dc:creator>
      <dc:date>2020-02-27T22:10:01Z</dc:date>
    </item>
  </channel>
</rss>

