{"id":5731,"date":"2020-03-22T20:47:03","date_gmt":"2020-03-23T03:47:03","guid":{"rendered":"https:\/\/visualgdb.com\/w\/?p=5731"},"modified":"2020-03-23T08:38:54","modified_gmt":"2020-03-23T15:38:54","slug":"openocd-transport-selection","status":"publish","type":"post","link":"https:\/\/visualgdb.com\/documentation\/openocd\/transport\/","title":{"rendered":"OpenOCD Transport Selection"},"content":{"rendered":"<p>Most ARM devices are debugged using either SWD or JTAG protocol. OpenOCD supports both protocols and allows selecting one explicitly:<\/p>\n<p><a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2020\/03\/transport.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5732\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2020\/03\/transport.png\" alt=\"\" width=\"696\" height=\"355\" \/><\/a><\/p>\n<p>OpenOCD distinguishes between high-level debugging adapters (HLAs, e.g. ST-Link) and low-level debugging adapters (e.g. J-Link) and requires selecting the HLA versions of the protocols if you are using the high-level debug adapters.<\/p>\n<p>For most setups we recommend leaving the &#8220;debug protocol&#8221; field empty or selecting &#8220;Default&#8221; to use the default protocol for the current adapter\/device combination. If you want to choose between JTAG or SWD explicitly, use the table below to find the correct setting:<\/p>\n<table class=\"neat_table\">\n<tbody>\n<tr>\n<th>Setting<\/th>\n<th>Meaning<\/th>\n<th>Can be used with<\/th>\n<\/tr>\n<tr>\n<td>SWD<\/td>\n<td>Use SWD protocol<\/td>\n<td rowspan=\"2\">Low-level adapters like J-Link or Olimex FT2232-based adapters<\/td>\n<\/tr>\n<tr>\n<td>JTAG<\/td>\n<td>Use JTAG protocol<\/td>\n<\/tr>\n<tr>\n<td>SWD (HLA)<\/td>\n<td>Use SWD protocol<\/td>\n<td rowspan=\"2\">High-level adapters like ST-Link<\/td>\n<\/tr>\n<tr>\n<td>JTAG (HLA)<\/td>\n<td>Use JTAG protocol<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If you are not sure about the protocol\/adapter to use, simply try several options and use the &#8220;Test&#8221; button to quickly validate them.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most ARM devices are debugged using either SWD or JTAG protocol. OpenOCD supports both protocols and allows selecting one explicitly:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[197],"tags":[],"_links":{"self":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/5731"}],"collection":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/comments?post=5731"}],"version-history":[{"count":1,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/5731\/revisions"}],"predecessor-version":[{"id":5733,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/5731\/revisions\/5733"}],"wp:attachment":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/media?parent=5731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/categories?post=5731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/tags?post=5731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}