{"id":708,"date":"2017-02-21T13:54:39","date_gmt":"2017-02-21T19:54:39","guid":{"rendered":"http:\/\/www.ourada.org\/blog\/?p=708"},"modified":"2017-02-24T09:31:49","modified_gmt":"2017-02-24T15:31:49","slug":"ibdap","status":"publish","type":"post","link":"https:\/\/www.ourada.org\/blog\/archives\/708","title":{"rendered":"IBDAP"},"content":{"rendered":"<p>In my journey to ARM mastery, I&#8217;ve been interested in SWD as a way to program, control and debug an embedded ARM core. Due to my obsession with cheap boards and open source, finding a satisfying solution to my SWD connectivity needs has been a journey in itself.<\/p>\n<p>There are commercial SWD interfaces available, like <a href=\"http:\/\/www.st.com\/en\/development-tools\/st-link-v2.html\">ST-LINK<\/a> and <a href=\"https:\/\/www.segger.com\/jlink-debug-probes.html\">JLink<\/a>. But those aren&#8217;t open source. You can get cheap JLink clones from China, but those appear to just use stolen firmware images from the JLink products. <a href=\"http:\/\/akb77.com\/g\/stm32\/cmsis-dap-adapter\/\">This interface<\/a>, with open source firmware, seemed promising, especially since I could get a firmware binary running on a cheap <a href=\"https:\/\/www.aliexpress.com\/wholesale?catId=0&#038;initiative_id=SB_20170221113735&#038;SearchText=stm32\">VCC-GND STM32 board<\/a> I had around. But since I couldn&#8217;t build the source without the Keil tools, and the free version of the Keil tools didn&#8217;t seem to work, and the free version of the Keil tools is not open source, my hunt continued.<\/p>\n<p>Whereupon I landed at <a href=\"https:\/\/github.com\/Armstart-com\/IBDAP-CMSIS-DAP\">IBDAP<\/a>. Someone had taken the same journey and decided to market a board and GCC\/makefile-compatible open source firmware, using the CMSIS-DAP standard that is itself an open product of ARM. Very cool. The only downside being that Armstart is sorta out of business. I ordered what may be the last IBDAP board they sell, because after I bought it, everything on their site was marked as sold out. It took a bit of (email) arm-twisting to get them to ship me the board. But, it arrived, I was able to build the firmware (flashing it using another SWD interface), and I&#8217;ve connected to a couple boards through it with apparent ease. I may have finally now reached a point in my journey where I can release my obsession with open SWD.<\/p>\n<p>The board may be found at other places, like <a href=\"https:\/\/www.adafruit.com\/products\/2764\">Adafruit<\/a>.<\/p>\n<p>In case the Github link disappears, here&#8217;s an <a href=\"https:\/\/github.com\/sourada\/IBDAP-CMSIS-DAP\">IBDAP fork<\/a>. Here&#8217;s the <a href=\"http:\/\/www.ourada.org\/IBDAP.bin\">firmware I built<\/a> most recently, as a check for your build\/board. Below are some documentation resources.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.ourada.org\/blog\/wp-content\/uploads\/2017\/02\/ibdap.jpg\" alt=\"\" width=\"1189\" height=\"841\" class=\"alignnone size-full wp-image-709\" srcset=\"https:\/\/www.ourada.org\/blog\/wp-content\/uploads\/2017\/02\/ibdap.jpg 1189w, https:\/\/www.ourada.org\/blog\/wp-content\/uploads\/2017\/02\/ibdap-300x212.jpg 300w, https:\/\/www.ourada.org\/blog\/wp-content\/uploads\/2017\/02\/ibdap-768x543.jpg 768w, https:\/\/www.ourada.org\/blog\/wp-content\/uploads\/2017\/02\/ibdap-1024x724.jpg 1024w\" sizes=\"auto, (max-width: 1189px) 100vw, 1189px\" \/><\/p>\n<p><a href=\"http:\/\/www.ourada.org\/IBDAP-user-manual.pdf\">user manual<\/a>, <a href=\"http:\/\/www.ourada.org\/IBDAP-LPC11U35_SCH.pdf\">schematic<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In my journey to ARM mastery, I&#8217;ve been interested in SWD as a way to program, control and debug an embedded ARM core. Due to my obsession with cheap boards and open source, finding a satisfying solution to my SWD connectivity needs has been a journey in itself. There are commercial SWD interfaces available, like [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[17,36,51],"class_list":["post-708","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-development","tag-open-source","tag-software","author-admin"],"_links":{"self":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts\/708","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/comments?post=708"}],"version-history":[{"count":5,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts\/708\/revisions"}],"predecessor-version":[{"id":714,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/posts\/708\/revisions\/714"}],"wp:attachment":[{"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/media?parent=708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/categories?post=708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ourada.org\/blog\/wp-json\/wp\/v2\/tags?post=708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}