STM32學習心得二十:USMART調試組件實驗

記錄一下,方便以後翻閱~
主要內容
1) USMART調試組件基本過程;
2) USMART配置過程;
3) USMART調試測試過程。
1. USMART概念
USMART是正點原子團隊爲其STM32開發平臺開發的一種類似linux的shell的調試工具。具體工作過程是通過串口發送命令給單片機,然後單片機收到命令之後調用單片機裏面對應的相關函數,並執行,同時支持返回結果。
2. USMART調試過程
2.1 串口調試助手發送函數命令;
2.2 單片機接受到命令之後,解析命令,調用對應的函數;
2.3 Led_set函數。
3. USMART應用場景
開發過程中,經常需要修改函數入口參數,查看運行效果的情況下應用非常方便。不用多次下載代碼,或者多次用JLINK調試。
4. USMART特點
4.1 可以調用絕大部分用戶直接編寫的函數;
4.2 資源佔用極少(最少情況:FLASH:4K;SRAM:72B);
4.3 支持參數類型多(數字(包含10/16進制)、字符串、函數指針等);
4.4 支持函數返回值顯示;
4.5 支持參數及返回值格式設置;
4.6 支持函數執行時間計算(V3.1版本新特性);
4.7 使用方便。
5. USMART文件組
在這裏插入圖片描述)
5.1 usmart.c負責與外部互交等;
5.2 usmat_str.c主要負責命令和參數解析;
5.3 usmart_config.c主要由用戶添加需要由usmart管理的函數;
5.4 usmart.h和usmart_str.h是兩個頭文件,其中usmart.h裏面含有幾個用戶配置宏定義,可以用來配置usmart的功能及總參數長度(直接和SRAM佔用掛鉤)、是否使能定時器掃描、是否使用讀寫函數等。
6. USMART配置步驟(這個知識點比較重要)
6.1 將USMART包添加到工程中,頭文件要包含到path;
在這裏插入圖片描述
在這裏插入圖片描述
6.2 添加需要調用的函數到usmart_config.c文件中;
在這裏插入圖片描述
6.3 主函數中調用usmart_dev.init函數初始化usmart;
在這裏插入圖片描述
6.4 即可通過助手發送命令,調用在usmart註冊過的函數。
7. USMART系統命令
USMART有7個系統命令:
7.1 ?: 獲取幫助信息;
7.2 help: 獲取幫助信息;
7.3 list: 可用的函數列表;
7.4 id: 可用函數的ID列表;
7.5 hex: 參數16進制顯示,後跟空格+數字即執行進制轉換;
7.6 dec: 參數10進制顯示,後跟空格+數字即執行進制轉換;
7.7 runtime 1,開啓函數運行計時;0,關閉函數運行計時;
請按照程序編寫格式輸入函數名及參數並以回車鍵結束。
8. 使用感受
配置完成後,可以直接在串口調試助手發送相應函數命令, 修改該函數的入口參數並調用一次,返回相應結果。但是無法保存修改後的入口參數,即在程序運行時,若main.c中需運行該函數,其入口參數值仍爲編譯前設好的值。
9. USMART代碼分享
USMART調試代碼

舊知識點
1)複習如何新建工程模板,可參考STM32學習心得二:新建工程模板
2)複習基於庫函數的初始化函數的一般格式,可參考STM32學習心得三:GPIO實驗-基於庫函數
3)複習寄存器地址,可參考STM32學習心得四:GPIO實驗-基於寄存器
4)複習位操作,可參考STM32學習心得五:GPIO實驗-基於位操作
5)複習延遲函數,可參考STM32學習心得九:Systick滴答定時器和延時函數解讀
6)複習ST-LINK仿真器的參數配置,可參考STM32學習心得十:在Keil MDK軟件中配置ST-LINK仿真器
7)複習ST-LINK調試方法,可參考STM32學習心得十一:ST-LINK調試原理+軟硬件仿真調試方法
8)複習串口通信相關知識,可參考STM32學習心得十四:串口通信相關知識及配置方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章