昨天,Raspberry Pi 發布了 12 美元的新產品 Debug Probe,我在郵件中收到了一個(如上圖所示)。

Debug Probe 由 RP2040 供電,並且允許您從 USB 連接到 UART(串行)或 SWD(串行線調試),非常適合調試大多數嵌入式設備。

當您沒有顯示器或控制它的其他方法,您幾乎可以在任何帶有處理器或微控制器的設備上找到 UART/串行/控制台端口。

SWD 在調試 ARM SoC 時非常有用,例如 Raspberry Pi Pico 上使用的 RP2040.我過去在更新我的 Turing Pi 2 的固件時也使用過它,它使用另一個 ARM 芯片來運行它的 BMC,或板管理控制器。

傳統上,你可以找到 USB 到 UART 適配器提供不同程度的支持,從幾美元到幾十美元不等,但看看我的 UART 箱,我想我涵蓋了一些更流行的非品牌適配器,許多電子產品書呆子可能已經準備好了:

Debug Probe 添加到 SWD 上並為此有一個單獨的端口,因此它也與 SWD 設備競爭,例如 SEGGER J-鏈接 BASE 調試器,售價 500 美元!

SEGGER EDU 可以是以 70 美元的價格購買用於教育和非商業用途,但對於進入 SWD 調試遊戲來說,這仍然是一個相當高的價格。

所以對於 Pi 的調試探針總共 12 美元,你會怎樣得到什麼?

盒子里和盒子裡有什麼東西

很多人問“既然有上千個海外山寨板,你為什麼還要買 Raspberry Pi?價格?”

好吧,讓我們打開 Debug Probe,我會告訴你一個很好的理由——在蓋子下面,你會看到一個簡單的插圖,解釋了包含的配件的用途和引出線對於隨附的分支線。

正是這種異想天開且簡單的添加使得使用 Pi 產品變得更加舒適。許多其他設備都裝在防靜電袋中,或者只是扔在密封的塑料袋中。您經常依賴博客文章或 Adafruit 產品頁面底部的註釋來開始使用它。

如果我轉到 Debug Probe 產品頁面有詳細的圖像和完整、易於理解的第一方文檔!

但是打開這些文檔後,有調試探針,在它可愛的小半透明卡扣盒中:

撇開這一點,電纜整齊地放在下面:

jeffgeerling.com/sites/default/files/images/unbox4-cables.jpeg”width=”700″ height=”394″>

Pi 卡在這個板上的微型 USB 有點煩人:

USB-C現在相當跨各種嵌入式設備的標準,因此擁有另一個需要掛在微型 USB 電纜上的設備有點煩人。也許他們會在處理完周圍大量供應的微型 USB 端口和電纜後,製作帶有 USB-C 的 v2。至少他們在“嵌入式​​”和低功耗產品(Pico、Zero、調試探針和鍵盤)中一致地使用它。

Serial UART debugging

自從我目前我沒有設置調試任何東西,特別是在 Pico 上,我的其他一些基於 ARM 的板現在都打包好了,我想在 Raspberry Pi 上快速測試 Probe,只是檢查我是否可以看到它的控制台通過 UART 輸出(請參閱我的較早的文章,該文章更深入地介紹了 Raspberry Pi 上的 UART/串行調試)。

我將盒子插入 Pi 4 上的相應引腳——黑色到 GND,橙色到 GPIO 14/pin 8(UART TX),黃色到 GPIO 15/pin 10(UART RX):

然後我將 Probe 插入我的 Mac 的 USB 端口並運行 lsusb,並看到:

Bus 002 Device 001: ID 2e8a:000c 2e8a Debug Probe (CMSIS-DAP) Serial: E6616407E330212C

一個好的第一個跡象。 Debug Probe 有一個明亮的紅色 LED,在通電時會亮起,觸感很好:

我還查看了/dev 並找到了設備/dev/tty.usbmodem2102.我打開了 CoolTerm 並將端口設置為 usbmodem2102,並將波特率設置為 115200。然後,在確保 Pi 啟用 enable_uart=1 之後在其/boot/config.txt 文件中進行配置後,我重新啟動了 Pi 並觀看了 CoolTerm:

有效!

為了使串行連接的工作更容易一些,我還為 CoolTerm 的終端模式設置了“原始模式”,禁用了“本地迴聲”,並將 Enter Key Emulation 設置設置為“CR”,這樣我在按回車鍵時就不會出現重複的行。

調試Pico

正如我之前提到的,我沒有任何可以使用 SWD 參與的活躍的 Pico 項目,也沒有時間設置演示——我相信 Raspberry Pi 的文檔是solid.

但我確實想指出 Pico 和 Pico W 之間的硬件差異:

Pico 的接頭位於電路板的邊緣,而 Pico W 的接頭位於中間,非常靠近 RP2040 芯片。

Raspberry Pi 出售我所描繪的版本,或帶有預焊的“H”品種JST 標頭——參見本系列中的第 2 和第 4 張圖片來自 Pi 的網站:

如果您有沒有接頭的版本,可能最簡單的方法是焊接一些公頭,然後使用母針適配器。儘管您可能會找到一個 JST 通孔接頭,但您可以將其焊接到非 H 板上的引腳中。

結論

除了 SEGGER J-Link,還有其他設備能夠至少,SWD 不會破壞銀行:

Black Magic Probe(75 美元):這個從精神上講,它可能是最接近 Debug Probe 的東西。它有點貴,但除了 SWD 之外還為您提供 JTAG,並且對各種 SoC 提供了大量經過測試的支持——Debug Probe 正式支持像 Pico 這樣的 Pi 設備,而不是所有在陽光下的設備。 SAMD11C SWD Programmer Stick (OSHW):這是一個開源硬件設備,您可以自己構建,如果您所以選擇。 SWD Programmer & Debugger(15 美元):只是 SWD,但仍然是一個整潔的小替代品。

最後,我很高興將這個 Debug Probe 和我的其他探測器一起扔進我的垃圾箱——事實上它在 RP2040 上運行本身意味著固件將隨著時間的推移得到維護和更新。而且很可能會解決許多兼容性錯誤,因此 Debug Probe 將獲得 12 美元設備的大量里程!

由於我掩蓋了 SWD 支持,我什至沒有提到當前的軟件一邊使用 OpenOCD

有關 SWD 和 OpenOCD 的更多閱讀,請查看這些文章:

By Maisy Hall

我是一名自由作家。 我也是素食主義者和環保主義者。 每當我有時間時,我都會專注於冥想。