<?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: FRDM_KL27Z ROM Bootloader in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1495550#M63644</link>
    <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I gone through the Link what you shared and got document &lt;STRONG&gt;blhost User's Guide&lt;/STRONG&gt; in the link&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/user-guide/MCUBLHOSTUG.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/user-guide/MCUBLHOSTUG.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;In this document page no: 8 they mentioned &lt;STRONG&gt;This option is valid for Arm-Linux blhost&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;but I am working on &lt;STRONG&gt;windows&lt;/STRONG&gt; platform,&lt;/P&gt;&lt;P&gt;Actually I am having &lt;STRONG&gt;FRDM-KL27Z&lt;/STRONG&gt; board and I want to use &lt;STRONG&gt;ROMBOOTLoader with I2C&lt;/STRONG&gt; for firmware application on to this MCU device on&amp;nbsp;&lt;STRONG&gt;windows&lt;/STRONG&gt; platform,&lt;/P&gt;&lt;P&gt;So will you please provide specific/required document for&amp;nbsp;&lt;STRONG&gt;ROMBOOTLoader with I2C&lt;/STRONG&gt;,&lt;/P&gt;&lt;P&gt;and also tell me what are the Hardware requirement/ connections for I2C pins for this process.&lt;/P&gt;&lt;P&gt;Thanks in Advance,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Ravikumar&lt;/P&gt;</description>
    <pubDate>Tue, 26 Jul 2022 10:48:03 GMT</pubDate>
    <dc:creator>Ravikumar1</dc:creator>
    <dc:date>2022-07-26T10:48:03Z</dc:date>
    <item>
      <title>FRDM_KL27Z ROM Bootloader</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1493227#M63600</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Actually I need to use ROM bootloader please tell me&lt;/P&gt;&lt;P&gt;1) is &lt;STRONG&gt;KL27MCUs&lt;/STRONG&gt; supported&amp;nbsp;ROM bootloader ?&lt;/P&gt;&lt;P&gt;2) If I want use&amp;nbsp;ROM bootloader and flashing the Application firmware code through &lt;STRONG&gt;I2C&lt;/STRONG&gt; what is the procedure/steps I should follow.&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Ravikumar.&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2022 09:34:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1493227#M63600</guid>
      <dc:creator>Ravikumar1</dc:creator>
      <dc:date>2022-07-21T09:34:50Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM_KL27Z ROM Bootloader</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1493618#M63608</link>
      <description>&lt;P&gt;Hi Ravikumar Besu,&lt;/P&gt;
&lt;P&gt;Thank you so much for your interest in our products and for using our community.&lt;/P&gt;
&lt;P&gt;Regarding your first question, the answer is yes.&lt;/P&gt;
&lt;P&gt;And regarding your second question, I can suggest you using &lt;A href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcu-bootloader-for-nxp-microcontrollers:MCUBOOT?&amp;amp;linkline=Users-Guide" target="_blank" rel="noopener"&gt;MCUBOOT&lt;/A&gt;. In the documentation section you will find the necessary documents on how to use this tool. You have the option to use a variety of serial communications and the ability to program or boot from external flash memory.&lt;/P&gt;
&lt;P&gt;I hope this will help you. Please let me know if you have more questions about it.&lt;/P&gt;
&lt;P&gt;Have a nice day!&lt;/P&gt;</description>
      <pubDate>Thu, 21 Jul 2022 22:22:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1493618#M63608</guid>
      <dc:creator>_Leo_</dc:creator>
      <dc:date>2022-07-21T22:22:48Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM_KL27Z ROM Bootloader</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1495550#M63644</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I gone through the Link what you shared and got document &lt;STRONG&gt;blhost User's Guide&lt;/STRONG&gt; in the link&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/user-guide/MCUBLHOSTUG.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/user-guide/MCUBLHOSTUG.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;In this document page no: 8 they mentioned &lt;STRONG&gt;This option is valid for Arm-Linux blhost&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;but I am working on &lt;STRONG&gt;windows&lt;/STRONG&gt; platform,&lt;/P&gt;&lt;P&gt;Actually I am having &lt;STRONG&gt;FRDM-KL27Z&lt;/STRONG&gt; board and I want to use &lt;STRONG&gt;ROMBOOTLoader with I2C&lt;/STRONG&gt; for firmware application on to this MCU device on&amp;nbsp;&lt;STRONG&gt;windows&lt;/STRONG&gt; platform,&lt;/P&gt;&lt;P&gt;So will you please provide specific/required document for&amp;nbsp;&lt;STRONG&gt;ROMBOOTLoader with I2C&lt;/STRONG&gt;,&lt;/P&gt;&lt;P&gt;and also tell me what are the Hardware requirement/ connections for I2C pins for this process.&lt;/P&gt;&lt;P&gt;Thanks in Advance,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Ravikumar&lt;/P&gt;</description>
      <pubDate>Tue, 26 Jul 2022 10:48:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1495550#M63644</guid>
      <dc:creator>Ravikumar1</dc:creator>
      <dc:date>2022-07-26T10:48:03Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM_KL27Z ROM Bootloader</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1495579#M63645</link>
      <description>&lt;P&gt;blhost.exe for Windows is part of MCUBoot, it should be part of the download package.&lt;BR /&gt;&lt;BR /&gt;However that will not magically connect Windows to I2C.&lt;BR /&gt;Do you have some interface board?&lt;/P&gt;&lt;P&gt;The FRDM-KL27Z board connects via USB to Windows, with blhost.exe to use the KL27 bootloader.&lt;BR /&gt;&lt;BR /&gt;I'm unclear why I2C is even entering the picture here?&lt;BR /&gt;&lt;BR /&gt;If you are thinking of doing a custom board and using I2C to bootload, don't do it.&lt;BR /&gt;The KL27 has some bugs in its I2C implementation which you can find discussions of in the forum here.&lt;BR /&gt;&lt;BR /&gt;There is also an errata on a bug in the KL27 bootloader.&lt;BR /&gt;I've posted code on how to work around that issue in the forum as well.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Jul 2022 12:05:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1495579#M63645</guid>
      <dc:creator>bobpaddock</dc:creator>
      <dc:date>2022-07-26T12:05:14Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM_KL27Z ROM Bootloader</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1500778#M63740</link>
      <description>&lt;P&gt;Thank you for the reply,&lt;/P&gt;&lt;P&gt;Now, I am using FRDM_KL27Z board and I can enter the bootloader mode through NMI switch. However I need to enter the Bootloader mode through &lt;STRONG&gt;TimeOut Enable&lt;/STRONG&gt; option.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Actually I gone through document and there is one option for the same&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ravikumar1_0-1659590753626.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189032iD6E7320E40DCBFBB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ravikumar1_0-1659590753626.png" alt="Ravikumar1_0-1659590753626.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;And, I read the document for &lt;STRONG&gt;KLFamily Reference Manual&lt;/STRONG&gt; and, in this document I can see that&amp;nbsp;&lt;STRONG&gt;FOPT boot options&lt;/STRONG&gt; in Page no 87&amp;amp;88. And we have selection options for BOOTPIN_OPT &amp;amp;&amp;nbsp;BOOTSRC_SEL.&lt;/P&gt;&lt;P&gt;Will you please tell me how /where do I need to do this modifications/ or Steps follow for entering the ROM bootloader mode through&amp;nbsp;&lt;STRONG&gt;TimeOut Enable&lt;/STRONG&gt; option.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in Advance,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravikumar.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Aug 2022 05:31:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1500778#M63740</guid>
      <dc:creator>Ravikumar1</dc:creator>
      <dc:date>2022-08-04T05:31:36Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM_KL27Z ROM Bootloader</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1500813#M63741</link>
      <description>&lt;P&gt;I recommend you have a read at the chapter 13 of the KL27 Reference Manual where the ROM bootloader is described.&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;1) is &lt;STRONG&gt;KL27MCUs&lt;/STRONG&gt; supported&amp;nbsp;ROM bootloader ?&lt;/P&gt;&lt;P&gt;Yes, see chapter 13 of the reference manual.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2) If I want use&amp;nbsp;ROM bootloader and flashing the Application firmware code through &lt;STRONG&gt;I2C&lt;/STRONG&gt; what is the procedure/steps I should follow.&lt;/P&gt;&lt;P&gt;See chapter 13.4.1 of the reference manual.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In addition to the timeout: the ROM bootloader is similar to the KL03Z, where I wrote &lt;A href="https://mcuoneclipse.com/2017/07/12/getting-started-rom-bootloader-on-the-nxp-frdm-kl03z-board/," target="_blank" rel="noopener"&gt;https://mcuoneclipse.com/2017/07/12/getting-started-rom-bootloader-on-the-nxp-frdm-kl03z-board/,&lt;/A&gt; so you can use this as guidance.&lt;/P&gt;&lt;P&gt;If you want to use McuBoot and not the ROM bootloader, then I have a tutorial here: &lt;A href="https://mcuoneclipse.com/2018/03/03/flash-resident-usb-hid-bootloader-with-the-nxp-kinetis-k22-microcontroller/" target="_blank"&gt;https://mcuoneclipse.com/2018/03/03/flash-resident-usb-hid-bootloader-with-the-nxp-kinetis-k22-microcontroller/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;I hope this helps,&lt;/P&gt;&lt;P&gt;Erich&lt;/P&gt;</description>
      <pubDate>Thu, 04 Aug 2022 06:30:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1500813#M63741</guid>
      <dc:creator>ErichStyger</dc:creator>
      <dc:date>2022-08-04T06:30:29Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM_KL27Z ROM Bootloader</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1500851#M63743</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/17173"&gt;@ErichStyger&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;Thank you for the reply,&lt;/P&gt;&lt;P&gt;Actually I gone through the link what you have shared for&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;In addition to the timeout: the ROM bootloader is similar to the KL03Z, where I wrote&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://mcuoneclipse.com/2017/07/12/getting-started-rom-bootloader-on-the-nxp-frdm-kl03z-board/," target="_blank" rel="noopener nofollow noreferrer"&gt;https://mcuoneclipse.com/2017/07/12/getting-started-rom-bootloader-on-the-nxp-frdm-kl03z-board/,&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;so you can use this as guidance.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here, my doubt is where we should do these configurations, means&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ravikumar1_0-1659596783705.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189044iE17EAFDD5AB03EEC/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ravikumar1_0-1659596783705.png" alt="Ravikumar1_0-1659596783705.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ravikumar1_1-1659596824505.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/189045i31580972A6B15531/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ravikumar1_1-1659596824505.png" alt="Ravikumar1_1-1659596824505.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;See the above,&lt;/P&gt;&lt;P&gt;Actually, we have to make &lt;STRONG&gt;BOOTPIN_OPT&amp;nbsp; = 01;&amp;nbsp;&lt;/STRONG&gt;and&lt;STRONG&gt; BOOTSRC_SEL = 10 or 11;&amp;nbsp; &lt;/STRONG&gt;for entering ROM without NMI.&lt;/P&gt;&lt;P&gt;So, where do I can change these configurations, do I need implement my own Boot loader code or Its already done by NXP. If already done by NXP what is the procedure to enter in to ROM Bootloader mode through EnableTimeout.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravikumar.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Aug 2022 07:21:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1500851#M63743</guid>
      <dc:creator>Ravikumar1</dc:creator>
      <dc:date>2022-08-04T07:21:38Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM_KL27Z ROM Bootloader</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1501163#M63747</link>
      <description>&lt;P&gt;I've done a lot of work with the MKL27 and its bootloader.&lt;BR /&gt;I have never encountered any 'timeout' and have never seen any documentation to enable such a timeout.&lt;BR /&gt;&lt;BR /&gt;You really want to design your hardware so that asserting the BOOT pin gets you into the ROM bootloader of the chip.&amp;nbsp; Not doing it this way can lead to bricking devices that then must be recovered using a SWD programming pod, such as&amp;nbsp; J-Link or PE FX (which I use).&lt;BR /&gt;&lt;BR /&gt;Place this code in your startup code in vectors.c (I've attached mine as example.&amp;nbsp; This is the code executed right out of reset) or equivalent, the comments explain why:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;static void vectors_bootloader_mr_setup( void ) __attribute__( ( used, __aligned__( 4U ), section( ".after_vectors" ) ) );&lt;BR /&gt;static void vectors_bootloader_mr_setup( void )&lt;BR /&gt;{&lt;BR /&gt;/*&lt;BR /&gt;* RCM_MR Indicates the boot source, the boot source remains set&lt;BR /&gt;* until the next System Reset or software can write logic one to&lt;BR /&gt;* clear the corresponding mode bit. While either bit is set the&lt;BR /&gt;* NMI input is disabled and the vector table is relocated to the&lt;BR /&gt;* ROM base address at 0x1C00_0000. These bits should be cleared by&lt;BR /&gt;* writing logic one before executing any code from either Flash or&lt;BR /&gt;* SRAM.&lt;BR /&gt;*&lt;BR /&gt;* A reset is forced to clear out anything that the ROM&lt;BR /&gt;* bootloader did, so we are sure we have the data sheet reset&lt;BR /&gt;* values.&lt;/P&gt;&lt;P&gt;* This method works around the buggy KL43/27/17 bootloaders as&lt;BR /&gt;* described in: "Problem Analysis and solutions for booting from&lt;BR /&gt;* ROM BOOTLOADER in KL series".&lt;BR /&gt;*/&lt;BR /&gt;if( 0U != ( RCM_MR &amp;amp; RCM_MR_BOOTROM_MASK ) )&lt;BR /&gt;{&lt;BR /&gt;RCM_MR = RCM_MR_BOOTROM_MASK; /* Clear the bits that indicated a bootloader boot via ROM */&lt;BR /&gt;RCM_FM = 0U; /* Boot from Flash not ROM on next reset */&lt;/P&gt;&lt;P&gt;SCB_AIRCR = ( SCB_AIRCR_VECTKEY( 0x05FAU ) | SCB_AIRCR_SYSRESETREQ_MASK ); /* Force a Software Reset */&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;This code when called from the application will force the bootloader to start, which answers your question about when to use RCM_FM.&amp;nbsp; It is not a configuration thing nor directly related to the BOOT pin.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void __attribute__ ((noreturn)) reset_mcu( void )&lt;BR /&gt;{&lt;BR /&gt;/*&lt;BR /&gt;* A DSB is required before generating self-reset to ensure all&lt;BR /&gt;* outstanding transfers are completed. The use of the CPSID I&lt;BR /&gt;* instruction is optional.&lt;BR /&gt;*/&lt;BR /&gt;irq_disable();&lt;BR /&gt;sync_barrier_data();&lt;/P&gt;&lt;P&gt;SCB_AIRCR = (SCB_AIRCR_VECTKEY(0x05FAU) | SCB_AIRCR_SYSRESETREQ_MASK);&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;for(;;)&lt;BR /&gt;{&lt;BR /&gt;;&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;void boot_loader_start( void )&lt;BR /&gt;{&lt;BR /&gt;RCM_FM = RCM_FM_FORCEROM_MASK; /* Force next reset to jump to Bootloader ROM, */&lt;BR /&gt;reset_mcu(); /* now be the next reset */&lt;/P&gt;&lt;P&gt;for(;;) /* Pacify the compiler about returning from a no return function */&lt;BR /&gt;;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;As I said previously, don't use I2C for the bootloader because the parts with double buffered I2C do not handle repeated start correctly.&amp;nbsp; Use serial port or USB.&amp;nbsp; See the KL27 manual for which specific serial port works with the bootloader.&lt;/P&gt;</description>
      <pubDate>Thu, 04 Aug 2022 13:42:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL27Z-ROM-Bootloader/m-p/1501163#M63747</guid>
      <dc:creator>bobpaddock</dc:creator>
      <dc:date>2022-08-04T13:42:18Z</dc:date>
    </item>
  </channel>
</rss>

