<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>[OpenSDAv2] Tutorial: Set-up the right debug interface for your IDE toolchain</title><link>https://community.element14.com/products/devtools/kinetiskl2freedomboard/w/documents/16934/opensdav2-tutorial-set-up-the-right-debug-interface-for-your-ide-toolchain</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>[OpenSDAv2] Tutorial: Set-up the right debug interface for your IDE toolchain</title><link>https://community.element14.com/products/devtools/kinetiskl2freedomboard/w/documents/16934/opensdav2-tutorial-set-up-the-right-debug-interface-for-your-ide-toolchain</link><pubDate>Fri, 08 Oct 2021 07:50:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:418b7f21-4fc3-48a9-a711-fa47993e93ea</guid><dc:creator>bheemarao</dc:creator><comments>https://community.element14.com/products/devtools/kinetiskl2freedomboard/w/documents/16934/opensdav2-tutorial-set-up-the-right-debug-interface-for-your-ide-toolchain#comments</comments><description>Current Revision posted to Documents by bheemarao on 10/8/2021 7:50:44 AM&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span style="color:#ff0000;font-size:8pt;"&gt;This Document was extracted from &lt;span style="font-family:&amp;#39;Helvetica Neue&amp;#39;, Helvetica, Arial, &amp;#39;Lucida Grande&amp;#39;, sans-serif;"&gt; &lt;/span&gt;&lt;a class="jive-link-external-small" href="https://community.freescale.com/people/amh" rel="nofollow ugc noopener" style="font-size:12px;font-family:&amp;#39;Helvetica Neue&amp;#39;, Helvetica, Arial, &amp;#39;Lucida Grande&amp;#39;, sans-serif;color:#8ca9cd;" target="_blank"&gt;&lt;span style="color:#ff0000;"&gt;Anthony Huereca&lt;/span&gt;&lt;/a&gt; blog published at Freescale Community Forum &lt;a class="jive-link-external-small" href="https://community.freescale.com/docs/DOC-100720" rel="nofollow ugc noopener" target="_blank" title="https://community.freescale.com/docs/DOC-100720"&gt;&lt;span style="text-decoration:underline;color:#ff0000;"&gt;&lt;span style="color:#3366ff;text-decoration:underline;"&gt;https://community.freescale.com/docs/DOC-100720&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; with his agreement.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;OpenSDA/OpenSDAv2 is a serial and debug adapter that is built into several Freescale evaluation boards. It provides a bridge between your computer (or other USB host) and the embedded target processor, which can be used for debugging, flash programming, and serial communication, all over a simple USB cable.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The OpenSDA hardware consists of a circuit featuring a Freescale Kinetis K20 microcontroller (MCU) with an integrated USB controller. On the software side, it implements a mass storage device, bootloader which offers a quick and easy way to load OpenSDA applications such as flash programmers, run-control debug interfaces, serial to USB converters, and more. Details on OpenSDA can be found in the &lt;a class="jive-link-external-small" href="http://cache.freescale.com/files/32bit/doc/user_guide/OPENSDAUG.pdf" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;OpenSDA User Guide&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11446/pastedImage_6.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&lt;img alt="image"  class="jiveImage" height="278" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11446/pastedImage_6.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="628" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The bootloader and app firmware that lay on top of the original OpenSDA circuit was proprietary.&amp;nbsp; But recently ARM decided to open source their CMSIS-DAP interface, and now a truly open debug platform could be created. This new open-sourced firmware solution is known as OpenSDAv2.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;span style="font-style:inherit;font-size:18pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;OpenSDAv2:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;OpenSDAv2 uses the exact same hardware circuit as the original OpenSDA solution, and out of the box it still provides a debugger, drag-and-drop flash programmer, and virtual serial port over a single USB cable.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The difference is the firmware implementation:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;OpenSDA:&lt;/strong&gt;&lt;/span&gt; Programmed with the proprietary P&amp;amp;E Micro developed bootloader. P&amp;amp;E Micro is the default debug interface app.&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;OpenSDAv2:&lt;/strong&gt;&lt;/span&gt; Programmed with the open-sourced CMSIS-DAP/mbed bootloader. CMSIS-DAP is the default debug interface app.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="0" cellspacing="0" style="padding:0px 5.4pt;border:none;font-weight:inherit;font-style:inherit;font-family:inherit;width:673px;"&gt;&lt;tbody style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border:1pt solid windowtext;padding:0 5.4pt;" valign="top" width="85"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border:1pt solid windowtext;padding:0 5.4pt;" valign="top" width="107"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Firmware Developer&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border:1pt solid windowtext;padding:0 5.4pt;" valign="top" width="97"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Kinetis K20 Based Hardware Circuit&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border:1pt solid windowtext;padding:0 5.4pt;" valign="top" width="90"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Default Debug Interface&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border:1pt solid windowtext;padding:0 5.4pt;" valign="top" width="132"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Drag-and-drop Target MCU&lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Flash Programming&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border:1pt solid windowtext;padding:0 5.4pt;" valign="top" width="90"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Virtual Serial Port&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border:1pt solid windowtext;padding:0 5.4pt;" valign="top" width="72"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Source Code Available&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border:1pt solid windowtext;padding:0 5.4pt;" valign="top" width="85"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;OpenSDA&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="107"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;P&amp;amp;E Micro&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="97"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;x&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="90"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;P&amp;amp;E Micro&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="132"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;.srec/.s19&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="90"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;x&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="72"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border:1pt solid windowtext;padding:0 5.4pt;" valign="top" width="85"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;OpenSDAv2&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="107"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;ARM/mbed.org&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="97"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;x&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="90"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;CMSIS-DAP&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="132"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;.bin&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="90"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;x&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:none;border:0px;font-family:inherit;font-style:inherit;border-bottom-color:windowtext;border-right-color:windowtext;border-style:none solid solid none;border-bottom-width:1pt;border-right-width:1pt;padding:0 5.4pt;" valign="top" width="72"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;x&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The bootloader and app firmware used by OpenSDAv2 is developed by the community at mbed.org, and is known as “&lt;a class="jive-link-external-small" href="https://github.com/mbedmicro/CMSIS-DAP" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;CMSIS-DAP Interface Firmware&lt;/a&gt;”. If you explore that site, you will find that this firmware was also ported to run on other hardware, but the combination of this mbed.org firmware with the Kinetis K20 MCU is known as OpenSDAv2.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;It is important to understand however that it is possible to run a P&amp;amp;E Micro debug app on the CMSIS-DAP/mbed bootloader found on OpenSDAv2. Likewise it is possible to run a CMSIS-DAP debug app on the P&amp;amp;E Micro bootloader found on OpenSDA. The debug application used needs to be targeted towards a specific bootloader though, as a single binary cannot be used on both the OpenSDA and OpenSDAv2 bootloaders.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-style:inherit;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;OpenSDAv2 Apps:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-external-small" href="http://mbed.org/handbook/Firmware-FRDM-K64F" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;mbed CMSIS-DAP&lt;/a&gt; (default app)&lt;/li&gt;&lt;li&gt;P&amp;amp;E Micro (found in Kinetis SDK beta release)&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-external-small" href="http://www.segger.com/opensda.html" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;Segger JLink&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:18pt;font-style:inherit;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;OpenSDAv2 Bootloader:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The key difference between OpenSDA and OpenSDAv2 is the bootloader.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Boards with &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;OpenSDA&lt;/strong&gt;&lt;/span&gt; use a proprietary bootloader developed by P&amp;amp;E Micro, and it cannot be erased or reprogrammed by an external debugger due to the security restrictions in the firmware.&lt;/li&gt;&lt;li&gt;Boards with &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;OpenSDAv2&lt;/strong&gt;&lt;/span&gt; use the open-source bootloader developed by mbed.org, and it can be erased and reprogrammed with an external debugger.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Apps need to be specifically tweaked to work with either the P&amp;amp;E bootloader (Original OpenSDA) or the CMSIS-DAP/mbed bootloader (OpenSDAv2) as the bootloader memory map is different.&amp;nbsp; Thus it’s important to know which type of bootloader is on your board to determine which version of an app to load.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;You can determine this by holding reset while plugging in the USB cable. A &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;BOOTLOADER&lt;/strong&gt;&lt;/span&gt; drive will appear for both OpenSDA and OpenSDAv2 as shown below.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11447/pastedImage_9.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="90" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11447/pastedImage_9.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="189" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The OpenSDAv2 bootloader (may also be called the CMSIS-DAP/mbed bootloader) developed by mbed.org will have the following files inside. Double clicking on bootload.htm will take you to the&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;mbed.org website.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11448/pastedImage_12.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="139" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11448/pastedImage_12.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="606" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The OpenSDA bootloader developed by P&amp;amp;E Micro will have the following inside. Clicking on SDA_INFO.HTM will take you to the P&amp;amp;E website.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11449/pastedImage_15.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&lt;img loading="lazy" alt="image"  class="jiveImage" height="152" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11449/pastedImage_15.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="616" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-style:inherit;font-size:18pt;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;Using CMSIS-DAP:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;When you connect a Freedom board that has OpenSDAv2 (such as the FRDM-K64F) to your computer with a USB cable, it will begin running the default CMSIS_DAP/mbed application.&lt;/span&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;You will see a new disk drive appear labeled “MBED”.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11450/pastedImage_18.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="88" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11450/pastedImage_18.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="138" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;You can then drag-and-drop binary (.bin) files onto the virtual hard disk to program the internal flash of the target MCU.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;OpenSDAv2 will also enumerate as a virtual serial port, which you can use a terminal program&lt;span style="text-decoration:underline;"&gt;.&lt;/span&gt; such as TeraTerm (shown below), to connect to. You may need to install the &lt;a class="jive-link-external-small" href="http://mbed.org/handbook/Windows-serial-configuration" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;mbed Windows serial port driver&lt;/a&gt; first before the serial port will enumerate on Windows properly. It should work without a driver for MacOS and Linux.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11451/pastedImage_28.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="291" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11451/pastedImage_28.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="497" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The CMSIS-DAP app also allows you to debug the target MCU via the CMSIS-DAP interface. Select the CMSIS-DAP interface in your IDE of choice (IAR, Keil), and inside the CMSIS-DAP options select the Single Wire Debug (SWD) option as shown below :&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-style:inherit;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;IAR:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11452/pastedImage_31.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="319" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11452/pastedImage_31.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="576" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11453/pastedImage_34.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="453" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11453/pastedImage_34.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="389" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;font-style:inherit;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;font-style:inherit;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;Keil:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11454/pastedImage_37.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="448" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11454/pastedImage_37.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="628" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11455/pastedImage_40.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="397" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11455/pastedImage_40.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="628" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-style:inherit;font-size:18pt;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:20pt;font-style:inherit;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a class="jive-link-external-small" href="http://mbed.org/handbook/cmsis-dap-interface-firmware" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;CMSIS-DAP Interface Firmware&lt;/a&gt;&lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a class="jive-link-external-small" href="https://mbed.org/platforms/FRDM-K64F/" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;mbed.org FRDM-K64 Page&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a class="jive-link-external-small" href="http://cache.freescale.com/files/32bit/doc/user_guide/FRDMK64FUG.pdf" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;FRDM-K64 User Guide&lt;/a&gt;&lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a class="jive-link-external-small" href="http://mcuoneclipse.com/2014/04/27/segger-j-link-firmware-for-opensdav2/" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;OpenSDAv2 on MCU on Eclipse blog&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a class="jive-link-external-small" href="http://cache.freescale.com/files/32bit/doc/user_guide/OPENSDAUG.pdf" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;OpenSDA User Guide&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-size:18pt;font-style:inherit;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;Appendix A: Building the CMSIS-DAP Debug Application&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:18pt;font-style:inherit;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The open source CMSIS-DAP Interface Firmware app is the default app used on boards with OpenSDAv2. It provides:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Debugging via the CMSIS-DAP interface&lt;/li&gt;&lt;li&gt;Drag-and-drop flash programming&lt;/li&gt;&lt;li&gt;Virtual Serial Port providing USB-to-Serial convertor&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;While binaries of this app are provided for supported boards, some developers would like to build the CMSIS-DAP debug application themselves.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;This debug application can be built for either the OpenSDAv2/mbed bootloader, or for the original OpenSDA bootloader developed by P&amp;amp;E Micro. If you are not sure which bootloader your board has, refer to the bootloader section in this document.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Building the CMSIS-DAP debug application requires Keil MDK. You will also need to have the “&lt;a class="jive-link-external-small" href="http://www2.keil.com/mdk5/legacy" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;Legacy Support for Cortex-M Devices&lt;/a&gt;” software pack installed for Keil.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;You will also need Python 2.x installed. Due to the python script used, Python 3.x will not work.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;You can download and get the CMSIS-DAP source code from &lt;a class="jive-link-external-small" href="https://github.com/mbedmicro/CMSIS-DAP" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;&lt;span style="text-decoration:underline;"&gt;https://github.com/mbedmicro/CMSIS-DAP&lt;/span&gt;&lt;/a&gt; using the &lt;a class="jive-link-external-small" href="https://github.com/mbedmicro/CMSIS-DAP/archive/master.zip" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;&lt;span style="text-decoration:underline;"&gt;Download ZIP&lt;/span&gt;&lt;/a&gt; link.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The source can also be downloaded via git:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;“git clone &lt;/strong&gt;&lt;/span&gt;&lt;a class="jive-link-external-small" href="https://github.com/mbedmicro/CMSIS-DAP.git" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;https://github.com/mbedmicro/CMSIS-DAP.git&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;”&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style:inherit;margin-bottom:0.0001pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The source code can be seen as shown below:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;:&lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11456/pastedImage_46.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&lt;img loading="lazy" alt="image"  class="jiveImage" height="295" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11456/pastedImage_46.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="535" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;This repository contains the files for both the bootloader and the CMSIS-DAP debug interface application. We will concentrate on the interface application at the moment.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Open up Keil MDK, and open up the project file located at &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;\CMSIS-DAP\interface\mdk\k20dx128\k20dx128_interface.uvproj&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;In the project configuration drop-down box, you will notice there are a lot of options. Since different chips may have slightly different flash programming algorithms, there is a target for each specific evaluation board. In this case, we will be building for the FRDM-K64F board. Scroll down until you get to that selection:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11457/pastedImage_49.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="243" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11457/pastedImage_49.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="384" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Notice there are three options for the K64:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;k20dx128_k64f_if:&lt;/strong&gt;&lt;/span&gt; Used for debugging the CMSIS-DAP application with Keil. Code starts at address 0x0000_0000&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;k20dx128_k64_if_openSDA_bootloader:&lt;/strong&gt;&lt;/span&gt; Creates a binary to drag-and-drop on the P&amp;amp;E developed bootloader (Original OpenSDA)&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;k20dx128_k64_if_mbed_bootloader: &lt;/strong&gt;&lt;/span&gt;Creates a binary to drag-and-drop onto the CMSIS-DAP/mbed developed bootloader (OpenSDAv2)&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Since the FRDM-K64F comes with the OpenSDAv2 bootloader, we will use the 3&lt;sup&gt;rd&lt;/sup&gt; option. If we were building the mbed app for another Freedom board which had the original OpenSDA bootloader, &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;we would choose the 2&lt;sup&gt;nd&lt;/sup&gt; option instead.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Now click on the compile icon. You may get some errors&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;If you get an &lt;a class="jive-link-external-small" href="https://groups.google.com/forum/#!topic/mbed-devel/N57xsoBkWts" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;error&lt;/a&gt; similar to the one shown below, make sure you have installed the &lt;a class="jive-link-external-small" href="http://www2.keil.com/mdk5/legacy" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;"&gt;Legacy pack&lt;/a&gt; for ARM as previously described earlier:&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#ff0000;font-size:12pt;font-style:inherit;margin-bottom:0.0001pt;font-family:&amp;#39;Times New Roman&amp;#39;, serif;font-weight:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compiling RTX_Config.c...&lt;/span&gt;&lt;span style="color:#ff0000;font-size:12pt;font-style:inherit;margin-bottom:0.0001pt;font-family:&amp;#39;Times New Roman&amp;#39;, serif;font-weight:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..\..\Common\src\RTX_Config.c(184): error:&amp;nbsp; #5: cannot open source input file &amp;quot;RTX_lib.c&amp;quot;: No such file or directory&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="font-size:12pt;font-style:inherit;margin-bottom:0.0001pt;font-family:&amp;#39;Times New Roman&amp;#39;, serif;font-weight:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;font-size:12pt;font-style:inherit;margin-bottom:0.0001pt;font-family:&amp;#39;Times New Roman&amp;#39;, serif;font-weight:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compiling usb_config.c...&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#ff0000;font-size:12pt;font-style:inherit;margin-bottom:0.0001pt;font-family:&amp;#39;Times New Roman&amp;#39;, serif;font-weight:inherit;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..\..\..\shared\USBStack\INC\usb_lib.c(18): error:&amp;nbsp; #5: cannot open source input file &amp;quot;..\..\RL\USB\INC\usb.h&amp;quot;: No such file or directory&lt;/span&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;If you get an error regarding a &lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#ff0000;"&gt;missing version_git.h file&lt;/span&gt;, make sure that Python 2.x and git are in your path. A Python build script fetches that file.&lt;/li&gt;&lt;li&gt;If there is a warning about “&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#ff0000;"&gt;invalid syntax&lt;/span&gt;” when running the Python script, make sure your using Python 2.x. Python 3.x will not work with the build script.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Now recompile again, and it should successfully compile. If you look now i&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;n \CMSIS-DAP\interface\mdk\k20dx128 &lt;/strong&gt;&lt;/span&gt;you will see a new &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;k20dx128_k64f_if_mbed.bin&lt;/strong&gt;&lt;/span&gt; file&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11458/pastedImage_56.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="252" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11458/pastedImage_56.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="628" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;If you compiled the project for the OpenSDA bootloader, there would be a new &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;k20dx128_k64f_if_openSDA.S19&lt;/strong&gt;&lt;/span&gt; file instead.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;Loading the CMSIS-DAP Debug Application:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Now take the Freedom board, press and hold the reset button as you plug in the USB cable. Then, drag-and-drop the .bin file (for OpenSDAv2) or .S19 file (for OpenSDA) into the BOOTLOADER drive that enumerated.&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11459/pastedImage_59.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="90" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11459/pastedImage_59.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="189" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Perform a power cycle, and you should see a drive called “MBED” come up and you can start using the CMSIS-DAP debug interface, as well as drag-and-drop programming and virtual serial port as described earlier in this document.&lt;/p&gt;&lt;p style="margin:0;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11460/pastedImage_63.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="69" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11460/pastedImage_63.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="122" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;span style="font-style:inherit;font-size:18pt;font-family:inherit;font-weight:inherit;"&gt;&lt;strong&gt;Appendix B: Building the CMSIS-DAP Bootloader&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;All Freedom boards already come with a bootloader pre-flashed onto the K20.&amp;nbsp; But for those building their own boards that would like to use CMSIS-DAP, or those who would like to tinker with the bootloader, it possible to flash it to the Kinetis K20 device. Flashing the bootloader will require an external debugger, such as the Keil ULink programmer or Segger JLink.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;color:red;"&gt;Also note that the OpenSDA/PE Micro Bootloader cannot be erased!&lt;/span&gt; Due to the proprietary nature of the P&amp;amp;E firmware used by the original OpenSDA, it can only be programmed at the board manufacturer and JTAG is disabled. So these instructions are applicable for boards with OpenSDAv2 only.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;First, open up the bootloader project which is located at &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;\CMSIS-DAP\bootloader\mdk\k20dx128\k20dx128_bootloader.uvproj&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;There is only one target available because all OpenSDAv2 boards will use the same bootloader firmware as the hardware circuitry is the same.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Click on the compile icon and it should compile successfully. If you see errors about a missing version_git.h file, note that Python 2.x must be in the path to run a pre-build script which fetches that file.&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11518/pastedImage_15.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="160" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11518/pastedImage_15.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="411" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;Now connect a Keil ULink to J10 and then insert a USB cable to provide power to J26. Note that if you have the 20-pin connector, you’ll want to use the first 10 pins.&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11524/pastedImage_37.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="238" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11524/pastedImage_37.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="283" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Then for Keil 5 you will need to change some debug options (CMSIS-DAP is built under Keil 4.x).&lt;/p&gt;&lt;p style="margin:0;"&gt;Right click on the bootloader project, and go to the Debug tab and next to ULINK Pro Cortex Debugger, click on Settings:&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11519/pastedImage_22.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="470" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11519/pastedImage_22.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="628" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Then under “Cortex-M Target Driver Setup”, change the “Connect” drop down box to “under Reset” and “Reset” dropdown box to “HW RESET”. Hit OK to save the settings.&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11520/pastedImage_25.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="397" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11520/pastedImage_25.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="628" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Then in Keil, click on Flash-&amp;gt;Erase.&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11521/pastedImage_28.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="137" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11521/pastedImage_28.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="211" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;And then on Flash-&amp;gt;Download.&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11522/pastedImage_31.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="137" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11522/pastedImage_31.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="211" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;If you get an “Invalid ROM Table” error when flashing the CMSIS-DAP bootloader, make sure you made the changes to the debugger settings listed above.&lt;/p&gt;&lt;p style="margin:0;"&gt;After some text scrolls by, you should see:&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&lt;a href="https://community.freescale.com/servlet/JiveServlet/showImage/102-100720-2-11523/pastedImage_34.png" rel="nofollow ugc noopener" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#6a737b;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img loading="lazy" alt="image"  class="jiveImage" height="59" src="https://community.freescale.com/servlet/JiveServlet/downloadImage/102-100720-2-11523/pastedImage_34.png" style="border:0px;font-weight:inherit;font-style:inherit;font-family:inherit;" width="150" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;Now power cycle while holding down the reset button, and you should see the bootloader drive come up. You’ll then need to drag and drop the mbed application built earlier onto it. And that’s all there is to it!&lt;/p&gt;&lt;p style="margin:0;margin-bottom:0.0001pt;font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;The binaries for the bootloader and CMSIS-DAP debug app for the FRDM-K64F board created in writing this guide are attached.&lt;/p&gt;
&lt;div class="migration-injected-attachments"&gt;&lt;div style="font-weight:bold;margin:15px 0 5px 0;"&gt;Attachments:&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;table style="border:0;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;span class="_se_attachment" id="attid_https://www.element14.com/community/api/core/v3/attachments/135146"&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-01-49/k20dx128_5F00_bootloader.axf.zip"&gt;community.element14.com/.../k20dx128_5F00_bootloader.axf.zip&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;span class="_se_attachment" id="attid_https://www.element14.com/community/api/core/v3/attachments/135147"&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-01-49/k20dx128_5F00_k64f_5F00_if_5F00_mbed.bin.zip"&gt;community.element14.com/.../k20dx128_5F00_k64f_5F00_if_5F00_mbed.bin.zip&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>