摘要:本文會給你們介紹下LiteOS Studio的調測的幾個知識點,包括: 調測配置,監視變量,反彙編代碼同步展現,數值進制切換,跨平臺編譯調測,Qemu模擬器調測,多核調測,遠程設備調測等。
掌握一款IDE的圖形化調測能力的重要性不言而喻,是IT打工人必備的技能,而掌握LiteOS Studio的圖形化調測能力,是LiteOS物聯網開發的必備技能。本文會給你們介紹下LiteOS Studio的調測的幾個知識點,包括: 調測配置,監視變量,反彙編代碼同步展現,數值進制切換,跨平臺編譯調測,Qemu模擬器調測,多核調測,遠程設備調測等。
若是沒有標明,本文所演示的工程均爲LiteOS開源工程,https://gitee.com/LiteOS/LiteOS 。git
HUAWEI LiteOS Studio 調測配置很是簡單,對於在LiteOS Studio上編譯的STM32開發板工程,支持一鍵開啓圖形化單步調試。除了使用默認調測配置,LiteOS Studio提供調測配置界面供用戶進行定製。打開LiteOS Studio工程,點擊工程配置界面上的調試器,以下圖, 支持配置項有調試器、鏈接方式、鏈接速率、調試器目錄、GDB目錄、可執行文件路徑、調試模式配置、工程源碼是否經過磁盤映射等。選擇的調試器不一樣,配置項會有差別。json
根據實際狀況選擇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。sass
根據需求選擇SWD或JTAG, 鏈接速率能夠默認或者自行指定服務器
須要選擇適合開發板工程的調試器軟件目錄。函數
若是調試器選擇了JLink,須要指定JLink的具體安裝目錄(默認爲C:\Program Files (x86)\SEGGER\JLink),若是與實際安裝目錄不一致,調試可能失敗,端口默認選擇USB。
若是調試器選擇了OpenOCD,須要指定OpenOCD的具體安裝目錄。還須要指定Interface、Target文件。工具
若是調試器選擇了Simulator,須要指定Qemu的具體安裝目錄(默認爲C:\Program Files\qemu)。學習
GDB目錄配置爲交叉編譯工具鏈的gdb.exe所在的目錄,能夠配置默認,或者自行指定。spa
完成編譯後,可填入elf文件所在路徑,或點擊瀏覽圖標進行手動設置,也能夠點擊下拉菜單選擇自動匹配的可執行文件。操作系統
配置好後點擊確認按鈕進行保存,會根據用戶指定的設置自動生成調測配置.vscode\launch.json。3d
在調試配置完畢後, 點擊綠色三角按鈕開始調試。調試時,須要掌握的幾個知識點: 包含監視變量、反彙編代碼同步展現,數值進制切換。
在調測時,在Watch監視器查看變量是很是有用的特性,也支持查看結構化的變量,好比監視g_taskCBArray變量,及下一個任務g_taskCBArray+1,以下圖:
對於LiteOS開源工程,在調測時,默認開啓了同時顯示源代碼和反彙編代碼。以下圖
當前函數執行到源代碼的第107行,在反彙編文件中顯示當前的源代碼行數、源代碼及對應的反彙編代碼。調測時,提供了便利,不單單關注源代碼同時關注反彙編代碼。
若是不須要關注反彙編代碼,也能夠手工關閉該選項,打開.vscode\launch.json,設置showDisassemble爲false:
"showDisassemble": false,
在調測過程當中,變量的數值多是10進制進行展現的,若是想查看其餘進制展現的數值,能夠在調測界面的監視器窗口輸入變量名稱名稱+進制代碼來切換進制查看,如memStart,x來查看變量memStart的16進制。如圖:
詳細的進制代碼以下,能夠分別到切換16進制、有符號數字、無符號、八進制、二進制、地址值等:
除了使用監視器,還能夠在調測控制檯的輸入窗口,輸入p/進制代碼 變量名來按指定的格式來輸出變量數值。
有些開發場景是,在Linux環境上開發、編譯LiteOS工程,可是想使用LiteOS Studio在Windows環境進行燒錄和調測。對於這種跨平臺進行編譯調測,LiteOS Studio是支持的。咱們在Linux上編譯成功:
磁盤映射Linux目錄/home/z0037XXXX/OSS_LiteOS/Huawei_LiteOS到Windows目錄Z:\OSS_LiteOS\Huawei_LiteOS。使用LiteOS Studio打開這個工程,設置燒錄器、調試器。燒錄成功後,執行調測,以下圖,能夠看出只顯示反彙編文件,看不到源代碼。
這是因爲編譯的目錄和工程源碼目錄不對應致使的,對於這種狀況,調測設置裏配置下磁盤映射信息便可:
設置完畢磁盤映射,保存,從新調測,便可正常顯示源代碼:
關於LiteOS仿真工程,詳細的信息請參考 《基於LiteOS Studio零成本學習LiteOS物聯網操做系統》,地址爲
https://bbs.huaweicloud.com/blogs/222197 。
對於有些帶有多個核的開發板,好比有Application 核、Protocol核、Security核的NB IoT開發板,LiteOS Studio也是支持同時調測多個核的。NB IoT工程已經完成相應的適配,安裝相應的擴展便可。
對於Jlink調測設備,LiteOS Studio也支持遠程調測這些設備。在兩臺電腦上,開發板鏈接在其中一臺開發板上,LiteOS Studio安裝在另一臺電腦上,兩臺電腦均須要安裝JLink軟件,保持最新且版本一致。
燒錄器界面配置完成後點擊確認按鈕,再點擊工具欄上的燒錄按鈕便可執行遠程燒錄任務。
完成配置並確認後,點擊調試按鈕執行遠程調試任務。調測過程、步驟和開發板在本地一致。
掌握了這些調測的技巧,若是你的開發板支持調測,就試試LiteOS Studio吧。也歡迎你們分享使用LiteOS Studio調測的心得,有任何問題、建議,均可以留言給咱們https://gitee.com/LiteOS/LiteOS_Studio/issues 。謝謝。
本文分享自華爲雲社區《LiteOS Studio圖形化調測能力,物聯網打工人必備》,原文做者:zhushy 。