1. gzyueqian
      13352868059

      嵌入式開發:ARM Cortex-M微控制器的5種調試技巧

      更新時間: 2022-06-06 09:42:44來源: 粵嵌教育瀏覽量:8159

        調試嵌入式軟件是必要的,值得慶幸的是,技術和工具鏈創新的最新進展已經產生了大量技術來幫助嵌入式開發人員大幅加快調試過程。讓我們研究一些技術,從傳統的斷點調試開始,到更高級的儀器跟蹤技術。

        技巧1——傳統的斷點調試

        每個開發人員都熟悉用于設置斷點、執行代碼然后在監視寄存器和變量值的同時單步執行代碼的傳統調試技術。斷點調試是一種比任何其他技術使用得更多的技術,因為它效率最低并且通常產生次優結果。

        為什么經常使用斷點?斷點被如此頻繁地使用是因為它們易于使用、易于訪問。斷點有可能破壞系統的實時性能,并且可以讓開發人員無休止地單步執行代碼,盲目地尋找問題的解決方案。

        技術 2 – IDE 值圖

        幾乎所有的調試器和IDE現在都允許開發人員監視存儲在內存位置(例如變量)中的值。開發人員選擇內存位置、值刷新率,然后啟動調試會話。價值監控可能非常有用,但如果被監控的數據與圖形表示相關聯,則價值更高。一些IDE能夠監控內置于IDE中的值,而另一些則依賴于使用外部軟件。

        實時繪制數據值對于發現意外變化或驗證是否生成了特定波形非常有用。以三相 BLDC電機為例,嵌入式開發人員可能想要監控每個電機支路的電流和電壓,為了驅動電機,需要生成一個非常特定的波形,繪制每個電機腿上的電壓和電流可以讓開發人員實時可視化正在發生的事情。

        技術 3 – 將printf重新路由到SWO

        在M3/M4等更高端的ARM Cortex-M部件上,為開發人員提供了額外的調試功能,稱為串行線查看器 (SWV),除了串行線輸出 (SWO) 之外,SWV還包括標準串行線調試器,SWO可以用來做一些很酷的事情,比如檢索程序計數器、事件計數器和跟蹤數據等等。開發人員可以自定義他們希望通過SWO傳輸的信息。

        許多開發人員設置printf是為了從他們的嵌入式系統中獲取調試信息。開發人員可以使用SWO通過調試器重新路由printf信息,而不是在微控制器上使用串行引腳。以這種方式使用調試器可以節省對專用串行接口的需求、UART或USB設備的開發時間,并且效率更高!原本會在應用程序中使用的開銷現在通過SWO 和調試硬件卸載,從而節省了原本由應用程序代碼使用的寶貴時鐘周期。

        






        技術 4 – RTOS跟蹤

        試圖透過面紗窺探RTOS正在做什么是非常具有挑戰性的。開發人員不想干擾實時系統性能,但仍然需要一些方法來了解系統。最近跟蹤工具為嵌入式開發人員的工具箱添加了一項驚人的技術,存在免費和商業可用的 RTOS 跟蹤工具,例如 TraceX、SystemView 和 Tracealyzer 等等。

        跟蹤工具允許開發人員分析RTOS何時空閑以及何時進入和退出每個任務。開發人員可以監控系統異常、響應時間、執行時間和我們正確開發嵌入式系統所需的許多其他關鍵細節,RTOS 跟蹤工具中最酷的功能是它們能夠可視化和繪制系統中正在發生的事情。實時或在記錄的日志中查看和監控時序圖有助于確定系統按預期工作的置信度,或有助于發現原本需要花費大量時間才能發現的小問題。

        技巧 5 – 使用指令跟蹤技術 (ETM/ETB/ETM)

        有時,開發人員面臨的調試問題只是處理器中可以想象的最低級別。存在可以監視處理器執行的單個指令的跟蹤技術。在測試和驗證軟件時,這種低級別的監控對于監控分支覆蓋率很有用。用于指令跟蹤的調試器工具與開發人員用于串行線查看的調試器工具不同,并且通常花費更多。

        結語

        調試工具和技術在過去幾年中迅速發展,尤其是對于高端微控制器。一般來說,工程師都是視覺動物,工具供應商正在尋找以視覺刺激的方式揭示實時系統中到底發生了什么的方法。設置調試工具可能需要一些前期設置時間,但花費更少時間調試和更多時間設計的潛力非常值得時間投資。至少,嵌入式開發人員應該熟悉他們可用的不同調試工具和功能,以便在出現問題并且需要調試系統時,他們知道存在正確的工具來完成工作。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲一区在线官网观看 | 亚洲中文字幕久久久一区 | 色久悠悠五月婷婷 | 亚洲欧美伊人久久综合一区二区 | 日本人妖一区二区久久网 | 综合激情亚洲丁香社区 |