引言
多年前調試智能車時,抱著電腦連著小車在跑道上一邊跑一邊看數據的經歷,讓我就對無線調試方法始終有執念。后來在智能車比賽中開始流行使用各種無線傳輸模塊實時傳輸數據的技術,在某種程度上減輕了智能車開發者的體力負擔(后來興起的室外越野賽,讓平時久坐實驗室的學弟學妹們又不得不開始又跑起來了)。但無線傳輸仍需要配合專門定制開發的上位機,并在MCU端做好適配,配合小車上的控制算法和應用程序盡量不影響運行效率。
如果要把這套系統方案開發完善,還是需要花費不少精力的,并且類似的技術通常也不會開放,而且應用層面上的調試遠遠不如直接調試底層來得直接和深入。最理想的用法,其實很簡單,只要把那根連接PC和調試器的USB剪斷就好。
收到創芯工坊的Alex邱總寄送過來嘗鮮的Arm無線調試器PowerDebugger
,我的心情是無比欣喜的,這么多年了,終于等到了商用的無線調試器面世了(淚奔。。。)。由于是國產自主品牌+調試器大廠出品,天然具備了物美價廉的特點,國內的開發者可以方便地在各種熟悉的線上平臺下單,坐等送貨上門。
無線調試器PowerDebugger
使用Arm的DAPLink
的協議,使用Wifi無線通信取代了以往調試系統中PC統調試器之間的USB連接線。除了有線變無線,用戶在應用中使用沒有任何差別,可以在以往的各種集成開發環境或者調試軟件工具中使用DAPLink
一樣使用PowerDebugger
。
實在是忍不住要連上手頭上的MCU開發板,試用一番。
準備軟硬件環境
PowerDebugger
無線調試器
拿到PowerDebugger
硬件設備后,還需要在PC上安裝PowerDebugger客戶端軟件
**在創芯工坊的官網上可以下載到PowerDebugger客戶端軟件
,如圖x所示。目前PowerDebugger客戶端軟件
已經可以支持Windows
、Linux
和MacOS
等三個主流的操作系統平臺。
圖x 在創芯工坊官網下載PowerDebugger客戶端軟件**
PowerDebugger
的接收器上也帶有一個Type-C的USB 接口,PC通過USB線接入這個USB接口,可以把接收機作為一個常規的有線DAPLink
調試器使用。
在PC機上接入PowerDebugger
的發射器后,在調試階段,就不需要接收器上連USB線(但需要從目標開發板上取電),實現真正的無線連接調試。PowerDebugger
的發射器
首次使用本地Wifi模式
時,需要先同時將發射端和接收端的設備都通過USB線連到電腦上,執行 配對操作 。如圖x所示。這個配對只要執行一次就好,讓手頭上的發射器和接收器互相識別,如果以后一直使用這一對收發器,就不用再配對了。
圖x 在PowerDebugger上位機上配置配對
之后就可以斷開PC和接收器的USB連線,以無線連接的方式正常使用了。特別注意,PowerDebugger
的接收器需要從目標開發板上取電,調試期間要確保目標開發板有供電,并向PowerDebugger
的接收器供電。
- 當發射端或接收端任一方停止工作(斷電)后,另一方也的連接指示燈也會熄滅,表示無線連接已斷開。
- 當再次恢復發射端和接收端的供電后,雙方的連接指示燈會同時亮起,表示無線連接建立成功。
PowerDebugger
客戶端軟件除了包括PowerDebugger
發射端和接收端的配置工具,還集成了很多其它很實用的工具,例如RTT可視化工具、串口調試軟件等等。但建立無線連接的配對之后,就可以關閉PowerDebugger
客戶端軟件了,之后可以正常使用用戶自己常用的調試工具軟件,不限定必須使用PowerDebugger
客戶端集成的調試工具。
EVB-YTM32B1LE0-Q64
開發板
EVB-YTM32B1LE0-Q64
開發板上搭載了國產車規MCU原廠云途半導體的YTM32B1LE05
微控制器,使用Arm Cortex-M0+
處理器內核,片上集成128KB Flash和16KB的SRAM,除了MCU常用的通信、定時器和模擬外設模塊,YTM32B1LE05
還集成了FlexCAN
、LinFlexD
等汽車電子系統常用的通信外設模塊。
這里需要將EVB-YTM32B1L-Q64
開發板的調試插座同PowerDebugger
的接收器連接起來。如圖x所示。
圖x EVB-YTM32B1L-Q64連接無線調試器
主要連接的信號包括:
YTM32開發板可以通過DC電源插座,從外部直流電源接入12V的供電。
YTM32B1LE05
有對應的SDK軟件包。這里選取其中的使用Keil MDK集成開發環境的hello_world
樣例工程,作為用例,嘗試使用無線調試器對下載固件并進行調試。
開始調試
導入工程到Keil MDK中,在工程屬性對話框中,選擇使用CMSIS-DAP Debugger
調試器,如圖x所示。
圖x 在Keil MDK環境中配置調試器
進一步在調試器屬性的對話框中,可以看到有兩個CMSIS-DAP
設備可選,選擇其中的HID_CMSIS-DAP
。
圖x 選擇CMSIS-DAP設備
從圖x中可以看到,此時PowerDebugger
基于無線連接,已經可以識別到連接的Arm處理器內核了。
在Keil MDK
環境中,正常編譯工程后,下載、調試,使用過程同原來使用有線連接的DAPLink
沒有任何差別,速度也不錯,沒有因為使用無線通信而降低調試體驗。如圖x所示。
圖x 在Keil MDK下調試MCU工程
使用Tera Term
連一下串口,可以正常收發。實際使用的時候,由于測試通信數據量很小,感受不到因為無線通信而產生的延遲。如圖x所示。此處相當于在無線下載調試之外,還得到了一個無線串口。真香。
圖x 使用PowerDebugger的無線串口
在通信過程中,無論是SWD
通信還是UART
通信,PowerDebugger
的發射器和接收器上的狀態指示燈都同步閃爍,指示通信正在進行。
圖x 使用PowerDebugger和YTM32開發板聯調
小結
本文記錄了試用PowerDebugger
無線調試器調試YTM32微控制器的全過程。創芯工坊發布的產品簡介和用戶手冊對PowerDebugger
功能和用法做了詳細的介紹,但筆者在實際試用過程中還總結了一些額外的要點:
- 首次使用
PowerDebugger
無線調試器時,需要使用PowerDebugger
客戶端軟件將發射器和接收器配對,否則大概率這兩個設備不會對通。 - 配對過程需要同時將發射器和接收器通過USB線連接PC。(別問我是怎么知道的,我也是一頓亂試之后碰巧發現的)
- 接收器從開發板取5V電和GND,不需要連
VREF
。 - 目前
PowerDebugger
支持YTM32使用Arm Cortex-M0+
處理器內核的YTM32B1LE
和YTM32B1LD
系列的MCU芯片,暫未支持使用Arm Cortex-M33
處理器內核的YTM32B1ME
和YTM32B1MD
系列的MCU芯片,這個后續可能需要通過更新PowerDebugger的固件實現。
-
微控制器
+關注
關注
48文章
7542瀏覽量
151316 -
接收器
+關注
關注
14文章
2468瀏覽量
71873 -
電壓隔離
+關注
關注
1文章
43瀏覽量
10664 -
GND
+關注
關注
2文章
539瀏覽量
38696 -
無線調試器
+關注
關注
0文章
3瀏覽量
5023
發布評論請先 登錄
相關推薦
評論