<?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 problems in implementing serial bootloader in Kinetis K50 MCU in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/problems-in-implementing-serial-bootloader-in-Kinetis-K50-MCU/m-p/1302741#M60976</link>
    <description>&lt;P&gt;I have been trying to implement the bootloader in Kinetis K50 MCU with AN2295 without success (I searched NXP community first and modified the bootloader files according to other developers’ notes/suggestions, could not even establish the serial communication between the bootloader and PC software hc08sprg).&lt;/P&gt;&lt;P&gt;The following is a brief description of my system, the approach I followed, and the problems I encountered when I turned to AN2295. I would appreciate it very much if anyone can give me any suggestion.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Our MCU system&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;MCU --- MK50DN512CLL10,&lt;/LI&gt;&lt;LI&gt;Serial interface for bootloader --- UART4 (connects a USB to UART Bridge, Silicon Labs CP210x)&lt;/LI&gt;&lt;LI&gt;IDE for user application development --- MCUXpresso&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;My Approach&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I landed on &lt;STRONG&gt;&lt;EM&gt;MCUBOOT: MCU Bootloader for NXP Microcontrollers&lt;/EM&gt;&lt;/STRONG&gt; page, clicked on &lt;STRONG&gt;DOWNLOAD&lt;/STRONG&gt; tab:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;First tried to download K50 SDK with middleware that has &lt;STRONG&gt;MCU Boot&lt;/STRONG&gt; (MCU Bootloader source code), and failed because MCU Boot is not in K50 SDK.&lt;/LI&gt;&lt;LI&gt;Secondly downloaded NXP_Kinetis_Bootloader_2.0.0 package but could not figure out how to use it. Also, I could not find a match for K50 under the &lt;STRONG&gt;target&lt;/STRONG&gt; folder.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Then I turned to &lt;STRONG&gt;AN2295&lt;/STRONG&gt; which at least implies that K50 is supported.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My understanding about implementing a bootloader&lt;/STRONG&gt; (please correct me if I am wrong)&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Program the MCU with bootloader source file in IAR&lt;/LI&gt;&lt;LI&gt;Use hc08sprg to connect the MCU, making sure bootloader is successfully programed&lt;/LI&gt;&lt;LI&gt;Transmit the user application S19 generated in MCUXpresso to MCU from computer and reprogram the flash memory area assigned to user code&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Problems in trying to make AN2295 serial bootloader work&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;My initial attempt of downloading the bootloader to MCU was not successfully because the default setting of debugger was simulator; after this was corrected, I believe the bootloader is programmed.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_0-1625545460651.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148841iD829F16DDFB72BF5/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_0-1625545460651.png" alt="yinni_0-1625545460651.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;There was some warning but seems not to matter&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_1-1625545460673.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148842iFDF29869D0CA69AE/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_1-1625545460673.png" alt="yinni_1-1625545460673.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;However, when I tried to connect our MCU with computer in hc08sprg, nothing is received by the computer.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_2-1625545460740.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148843i388A68D59A9A0806/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_2-1625545460740.png" alt="yinni_2-1625545460740.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The following shows the &lt;STRONG&gt;modifications I made with the original bootloader&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;To suit our case only AN2295_TWR_K60_cfg.h is included&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_3-1625545460810.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148844i759B9549D4B9D7F4/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_3-1625545460810.png" alt="yinni_3-1625545460810.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;In AN2295_TWR_K60_cfg.h, UART settings are modified to suit our case, BOOTLOADER_FLASH_PROTECTION is set to 1 (according to NXP community posts)&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_4-1625545460903.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148846i179ADA25D71CC292/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_4-1625545460903.png" alt="yinni_4-1625545460903.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;In &lt;SPAN&gt;AN2295_LinkerFile.icf&lt;/SPAN&gt;, only ICFEDIT_region_ROM_end is changed to 0x3FFF. (&lt;STRONG&gt;I am quite confused about how to modify &lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN&gt;AN2295_LinkerFile.icf, &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;the modification I venture to make comes from NXP community post)&lt;/SPAN&gt;.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_5-1625545461020.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148845i5C8C119FB218CA48/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_5-1625545461020.png" alt="yinni_5-1625545461020.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;With all these efforts, I could not connect the MCU from my computer and I am seeking help&lt;/P&gt;</description>
    <pubDate>Tue, 06 Jul 2021 04:27:48 GMT</pubDate>
    <dc:creator>yinni</dc:creator>
    <dc:date>2021-07-06T04:27:48Z</dc:date>
    <item>
      <title>problems in implementing serial bootloader in Kinetis K50 MCU</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/problems-in-implementing-serial-bootloader-in-Kinetis-K50-MCU/m-p/1302741#M60976</link>
      <description>&lt;P&gt;I have been trying to implement the bootloader in Kinetis K50 MCU with AN2295 without success (I searched NXP community first and modified the bootloader files according to other developers’ notes/suggestions, could not even establish the serial communication between the bootloader and PC software hc08sprg).&lt;/P&gt;&lt;P&gt;The following is a brief description of my system, the approach I followed, and the problems I encountered when I turned to AN2295. I would appreciate it very much if anyone can give me any suggestion.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Our MCU system&lt;/STRONG&gt;:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;MCU --- MK50DN512CLL10,&lt;/LI&gt;&lt;LI&gt;Serial interface for bootloader --- UART4 (connects a USB to UART Bridge, Silicon Labs CP210x)&lt;/LI&gt;&lt;LI&gt;IDE for user application development --- MCUXpresso&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;My Approach&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I landed on &lt;STRONG&gt;&lt;EM&gt;MCUBOOT: MCU Bootloader for NXP Microcontrollers&lt;/EM&gt;&lt;/STRONG&gt; page, clicked on &lt;STRONG&gt;DOWNLOAD&lt;/STRONG&gt; tab:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;First tried to download K50 SDK with middleware that has &lt;STRONG&gt;MCU Boot&lt;/STRONG&gt; (MCU Bootloader source code), and failed because MCU Boot is not in K50 SDK.&lt;/LI&gt;&lt;LI&gt;Secondly downloaded NXP_Kinetis_Bootloader_2.0.0 package but could not figure out how to use it. Also, I could not find a match for K50 under the &lt;STRONG&gt;target&lt;/STRONG&gt; folder.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Then I turned to &lt;STRONG&gt;AN2295&lt;/STRONG&gt; which at least implies that K50 is supported.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;My understanding about implementing a bootloader&lt;/STRONG&gt; (please correct me if I am wrong)&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Program the MCU with bootloader source file in IAR&lt;/LI&gt;&lt;LI&gt;Use hc08sprg to connect the MCU, making sure bootloader is successfully programed&lt;/LI&gt;&lt;LI&gt;Transmit the user application S19 generated in MCUXpresso to MCU from computer and reprogram the flash memory area assigned to user code&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Problems in trying to make AN2295 serial bootloader work&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;My initial attempt of downloading the bootloader to MCU was not successfully because the default setting of debugger was simulator; after this was corrected, I believe the bootloader is programmed.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_0-1625545460651.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148841iD829F16DDFB72BF5/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_0-1625545460651.png" alt="yinni_0-1625545460651.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;There was some warning but seems not to matter&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_1-1625545460673.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148842iFDF29869D0CA69AE/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_1-1625545460673.png" alt="yinni_1-1625545460673.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;However, when I tried to connect our MCU with computer in hc08sprg, nothing is received by the computer.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_2-1625545460740.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148843i388A68D59A9A0806/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_2-1625545460740.png" alt="yinni_2-1625545460740.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The following shows the &lt;STRONG&gt;modifications I made with the original bootloader&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;To suit our case only AN2295_TWR_K60_cfg.h is included&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_3-1625545460810.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148844i759B9549D4B9D7F4/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_3-1625545460810.png" alt="yinni_3-1625545460810.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;In AN2295_TWR_K60_cfg.h, UART settings are modified to suit our case, BOOTLOADER_FLASH_PROTECTION is set to 1 (according to NXP community posts)&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_4-1625545460903.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148846i179ADA25D71CC292/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_4-1625545460903.png" alt="yinni_4-1625545460903.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;In &lt;SPAN&gt;AN2295_LinkerFile.icf&lt;/SPAN&gt;, only ICFEDIT_region_ROM_end is changed to 0x3FFF. (&lt;STRONG&gt;I am quite confused about how to modify &lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN&gt;AN2295_LinkerFile.icf, &lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;the modification I venture to make comes from NXP community post)&lt;/SPAN&gt;.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yinni_5-1625545461020.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/148845i5C8C119FB218CA48/image-size/large?v=v2&amp;amp;px=999" role="button" title="yinni_5-1625545461020.png" alt="yinni_5-1625545461020.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;With all these efforts, I could not connect the MCU from my computer and I am seeking help&lt;/P&gt;</description>
      <pubDate>Tue, 06 Jul 2021 04:27:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/problems-in-implementing-serial-bootloader-in-Kinetis-K50-MCU/m-p/1302741#M60976</guid>
      <dc:creator>yinni</dc:creator>
      <dc:date>2021-07-06T04:27:48Z</dc:date>
    </item>
    <item>
      <title>Re: problems in implementing serial bootloader in Kinetis K50 MCU</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/problems-in-implementing-serial-bootloader-in-Kinetis-K50-MCU/m-p/1304168#M61005</link>
      <description>&lt;P&gt;Hi Yinni,&lt;/P&gt;
&lt;P&gt;I am assuming that you set K60_100MHz correct? Please note that AN2295 is an old software tool that is not recommended, we recommend using latest MCU boot software. You are correct that specific bootloader projects are not included in the K50 SDK, however, you can check chapter 10 of the MCU Bootloader v2.5.0 Reference Manual for porting guide. &lt;A href="https://www.nxp.com/docs/en/reference-manual/MCUBOOTRM.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/reference-manual/MCUBOOTRM.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You can see an example of this in this link for TWR-K60D100: &lt;A href="https://community.nxp.com/t5/Kinetis-Microcontrollers/Port-MCUBoot2-0-0-to-TWR-K60D100/ta-p/1117267" target="_blank"&gt;https://community.nxp.com/t5/Kinetis-Microcontrollers/Port-MCUBoot2-0-0-to-TWR-K60D100/ta-p/1117267&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Felip&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jul 2021 18:25:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/problems-in-implementing-serial-bootloader-in-Kinetis-K50-MCU/m-p/1304168#M61005</guid>
      <dc:creator>FelipeGarcia</dc:creator>
      <dc:date>2021-07-07T18:25:10Z</dc:date>
    </item>
    <item>
      <title>Re: problems in implementing serial bootloader in Kinetis K50 MCU</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/problems-in-implementing-serial-bootloader-in-Kinetis-K50-MCU/m-p/1306405#M61018</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Note that AN2295, Kboot and a number of loaders (like SD card, memory stick, Ethernet, USB-MSD) for the K5x (and almost any other Kinetis part) are available as out-of-the-box builds for most IDEs in the open source uTasker Kinetis project on GITHub&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.utasker.com/kinetis/TWR-K53N512.html" target="_blank"&gt;https://www.utasker.com/kinetis/TWR-K53N512.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Regards&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;BR /&gt;&lt;FONT color="#999999"&gt;Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements&lt;BR /&gt;&lt;BR /&gt;For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: &lt;A href="https://www.utasker.com/iMX/RT1064.html" target="_blank"&gt;https://www.utasker.com/iMX/RT1064.html&lt;/A&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Jul 2021 01:12:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/problems-in-implementing-serial-bootloader-in-Kinetis-K50-MCU/m-p/1306405#M61018</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2021-07-13T01:12:29Z</dc:date>
    </item>
  </channel>
</rss>

