JLink SWD + VCOM (virtual UART)接線方法
這算是個差不多先生的故事, 因工作的關係, 由網路管理和系統管理以及企業流程程式設計的領域, 進入了微控制器(MCU, 單晶片)firmware開發的世界。我們內部有從電路設計, 到PCB Layout, Assembly的能力, 所以除了MCU原廠出的Evaluation Board, Development Board外, 我們內部會在取得MCU IC後, 製作自己的工程板(Engineering Board)。驗證沒問題後, 就會將工程板改成真正產品的量產板。 幾乎每個人都以自己的角度來看世界, 硬體部門在做工程板的時候, 就我們firmware的角度來看, 他們應該沒想過我們要怎麼過日子吧! 要怎麼把firmware燒錄到工程板, 這件事就可以看得出來, 工程板上就是把比較會用到的(硬體的角度)Pin拉出來, 例如SWCLK, SWDIO, VCC, GND。然後, 給你一支JLink除錯器, 接下來怎麼接上去, 就是你家的事了! 當然, 這也是給我們自我訓練的機會。 原廠的開發板, 有部份會有onboard debugger, 像下面這張Nordic PCA10040, 我圈起來的部份就是, 通常都會是一顆JLink的晶片。 有些原廠的板子也會沒有onboard debugger, 這時候他們通常會設計一些Connector, 20pin, 9pin之類的, 現在debugger的廠商種類很多, 連接線也一樣有很多種。如以下開發板, 就有一個JLink的標準20Pin的連結器。 這樣使用原廠開發板寫firmware時, 只要用標準的20pin連接線, 來連接JLink除錯器和開發板就可以了。而這連接線和接頭都有防呆的缺口設計, 所以不會弄錯。 而我們一開始想的是, 如何把MCU上的firmware寫好, 除錯器只知道可以用來燒錄firmware到晶片上, 也可以用來做程式的除錯。這樣就好了, 其他的也沒時間多想了。差不多先生就這樣上身了。因此, 我知道, 原廠的JLink除錯器, 在我們使用SWD除錯時, 只要找到20pin裡的4個: VTref, SWCLK, SWDIO, GND。把這4個Pin接到工程板上的VCC, SWCLK, SWDIO, GND, 然後想辦法給工程板供電, 就可以開始工作了, 此時正常的話, IDE上都會看到有抓到除錯...