天天看點

物聯網打勞工必備:LiteOS Studio圖形化調測能力

摘要:本文會給大家介紹下LiteOS Studio的調測的幾個知識點,包括: 調測配置,監視變量,反彙編代碼同步展示,數值進制切換,跨平台編譯調測,Qemu模拟器調測,多核調測,遠端裝置調測等。

掌握一款IDE的圖形化調測能力的重要性不言而喻,是IT打勞工必備的技能,而掌握LiteOS Studio的圖形化調測能力,是LiteOS物聯網開發的必備技能。本文會給大家介紹下LiteOS Studio的調測的幾個知識點,包括: 調測配置,監視變量,反彙編代碼同步展示,數值進制切換,跨平台編譯調測,Qemu模拟器調測,多核調測,遠端裝置調測等。

如果沒有标明,本文所示範的工程均為LiteOS開源工程,https://gitee.com/LiteOS/LiteOS 。

LiteOS Studio調測配置

HUAWEI LiteOS Studio 調測配置非常簡單,對于在LiteOS Studio上編譯的STM32開發闆工程,支援一鍵開啟圖形化單步調試。除了使用預設調測配置,LiteOS Studio提供調測配置界面供使用者進行定制。打開LiteOS Studio工程,點選工程配置界面上的調試器,如下圖, 支援配置項有調試器、連接配接方式、連接配接速率、調試器目錄、GDB目錄、可執行檔案路徑、調試模式配置、工程源碼是否通過磁盤映射等。選擇的調試器不同,配置項會有差異。

物聯網打勞工必備:LiteOS Studio圖形化調測能力
  • 調試器配置項

根據實際情況選擇JLink、OpenOCD或者Simulator。選擇什麼調測器,取決于開發闆支援什麼調試器,并安裝相應的調試器軟體。如果開發闆使用JLink仿真器, 則根據情況安裝JLink軟體, 從 https://www.segger.com/downloads/jlink/ 下載下傳,并按安裝向導完成最新版JLink的安裝;如果開發闆闆載St-link仿真器,建議使用 https://www.segger.com/downloads/jlink#STLink_Reflash ST-Link Reflash Utility工具刷成Jlink,使用Jlink仿真器進行調測; 如果是Qemu仿真工程,調試器需要選擇為Simulator。

  • 連接配接方式配置

根據需求選擇SWD或JTAG, 連接配接速率可以預設或者自行指定

  • 調試器目錄配置

需要選擇适合開發闆工程的調試器軟體目錄。

如果調試器選擇了JLink,需要指定JLink的具體安裝目錄(預設為C:\Program Files (x86)\SEGGER\JLink),如果與實際安裝目錄不一緻,調試可能失敗,端口預設選擇USB。

如果調試器選擇了OpenOCD,需要指定OpenOCD的具體安裝目錄。還需要指定Interface、Target檔案。

如果調試器選擇了Simulator,需要指定Qemu的具體安裝目錄(預設為C:\Program Files\qemu)。

  • GDB目錄配置

GDB目錄配置為交叉編譯工具鍊的gdb.exe所在的目錄,可以配置預設,或者自行指定。

  • 可執行檔案路徑配置項

完成編譯後,可填入elf檔案所在路徑,或點選浏覽圖示進行手動設定,也可以點選下拉菜單選擇自動比對的可執行檔案。

  • 調試模式配置
    • 複位調試 會自動重新開機開發闆,并停止在main函數
    • 附加調試 不重新開機開發闆,附加到目前程式程序

配置好後點選确認按鈕進行儲存,會根據使用者指定的設定自動生成調測配置.vscode\launch.json。

LiteOS Studio調測執行

在調試配置完畢後, 點選綠色三角按鈕開始調試。調試時,需要掌握的幾個知識點: 包含監視變量、反彙編代碼同步展示,數值進制切換。

  • 螢幕監視變量

在調測時,在Watch螢幕檢視變量是非常有用的特性,也支援檢視結構化的變量,比如監視g_taskCBArray變量,及下一個任務g_taskCBArray+1,如下圖:

物聯網打勞工必備:LiteOS Studio圖形化調測能力
  • 反彙編代碼同步展示

對于LiteOS開源工程,在調測時,預設開啟了同時顯示源代碼和反彙編代碼。如下圖

目前函數執行到源代碼的第107行,在反彙編檔案中顯示目前的源代碼行數、源代碼及對應的反彙編代碼。調測時,提供了便利,不僅僅關注源代碼同時關注反彙編代碼。

物聯網打勞工必備:LiteOS Studio圖形化調測能力

如果不需要關注反彙編代碼,也可以手工關閉該選項,打開.vscode\launch.json,設定showDisassemble為false:

"showDisassemble": false,      
  • 數值進制切換

在調測過程中,變量的數值可能是10進制進行展示的,如果想檢視其他進制展示的數值,可以在調測界面的螢幕視窗輸入變量名稱名稱+進制代碼來切換進制檢視,如memStart,x來檢視變量memStart的16進制。如圖:

物聯網打勞工必備:LiteOS Studio圖形化調測能力

詳細的進制代碼如下,可以分别到切換16進制、有符号數字、無符号、八進制、二進制、位址值等:

物聯網打勞工必備:LiteOS Studio圖形化調測能力

除了使用螢幕,還可以在調測控制台的輸入視窗,輸入p/進制代碼 變量名來按指定的格式來輸出變量數值。

物聯網打勞工必備:LiteOS Studio圖形化調測能力

LiteOS Studio跨平台編譯調測

有些開發場景是,在Linux環境上開發、編譯LiteOS工程,但是想使用LiteOS Studio在Windows環境進行燒錄和調測。對于這種跨平台進行編譯調測,LiteOS Studio是支援的。我們在Linux上編譯成功:

物聯網打勞工必備:LiteOS Studio圖形化調測能力

磁盤映射Linux目錄/home/z0037XXXX/OSS_LiteOS/Huawei_LiteOS到Windows目錄Z:\OSS_LiteOS\Huawei_LiteOS。使用LiteOS Studio打開這個工程,設定燒錄器、調試器。燒錄成功後,執行調測,如下圖,可以看出隻顯示反彙編檔案,看不到源代碼。

物聯網打勞工必備:LiteOS Studio圖形化調測能力

這是由于編譯的目錄和工程源碼目錄不對應導緻的,對于這種情況,調測設定裡配置下磁盤映射資訊即可:

物聯網打勞工必備:LiteOS Studio圖形化調測能力

設定完畢磁盤映射,儲存,重新調測,即可正常顯示源代碼:

物聯網打勞工必備:LiteOS Studio圖形化調測能力

LiteOS Studio Qemu模拟器調測

關于LiteOS仿真工程,詳細的資訊請參考 《基于LiteOS Studio零成本學習LiteOS物聯網作業系統》,位址為

https://bbs.huaweicloud.com/blogs/222197 。

LiteOS Studio多核調測

對于有些帶有多個核的開發闆,比如有Application 核、Protocol核、Security核的NB IoT開發闆,LiteOS Studio也是支援同時調測多個核的。NB IoT工程已經完成相應的适配,安裝相應的擴充即可。

LiteOS Studio遠端裝置調測

對于Jlink調測裝置,LiteOS Studio也支援遠端調測這些裝置。在兩台電腦上,開發闆連接配接在其中一台開發闆上,LiteOS Studio安裝在另外一台電腦上,兩台電腦均需要安裝JLink軟體,保持最新且版本一緻。

  • 啟動JLink遠端伺服器

    在連接配接開發闆的電腦上,在JLink安裝目錄下,手動啟動JLinkRemoteServer.exe應用程式,進行如下設定,即可等待使用者連入:

物聯網打勞工必備:LiteOS Studio圖形化調測能力
物聯網打勞工必備:LiteOS Studio圖形化調測能力
  • 使用HUAWEI LiteOS Studio遠端燒錄

    在無開發闆、安裝LiteOS Studio的電腦上,等編譯生成燒錄檔案後,打開工程配置->燒錄器, 選擇JLink燒錄方式,選擇端口為IP,并填入遠端JLink位址,遠端JLink位址填寫遠端伺服器IPv4位址:

物聯網打勞工必備:LiteOS Studio圖形化調測能力

燒錄器界面配置完成後點選确認按鈕,再點選工具欄上的燒錄按鈕即可執行遠端燒錄任務。

  • 使用HUAWEI LiteOS Studio遠端調試

    同上,打開工程配置->調試器,選擇JLink調試方式,選擇端口為IP,并填入遠端JLink位址,遠端JLink位址填寫遠端伺服器IPv4位址。

物聯網打勞工必備:LiteOS Studio圖形化調測能力

完成配置并确認後,點選調試按鈕執行遠端調試任務。調測過程、步驟和開發闆在本地一緻。

掌握了這些調測的技巧,如果你的開發闆支援調測,就試試LiteOS Studio吧。也歡迎大家分享使用LiteOS Studio調測的心得,有任何問題、建議,都可以留言給我們https://gitee.com/LiteOS/LiteOS_Studio/issues 。謝謝。

本文分享自華為雲社群《LiteOS Studio圖形化調測能力,物聯網打勞工必備》,原文作者:zhushy 。

點選關注,第一時間了解華為雲新鮮技術~

繼續閱讀