能否及時高效地構(gòu)建嵌入式系統(tǒng),取決于軟件開發(fā)人員在工作臺上是否有合適工具來幫助完成開發(fā)工作。雖然預算通常受到限制,但有些工具是每位嵌入式軟件工程師都必需的,這些工具可以幫助他們大幅減少構(gòu)建、調(diào)試和驗證其設(shè)計所需的時間。
開發(fā)人員的工作臺上必備的第一種最重要工具是調(diào)試器。調(diào)試器的作用就如同包含應用代碼的主機開發(fā)機與將要運行應用代碼的目標嵌入式處理器之間的橋梁。調(diào)試器提供幾種關(guān)鍵功能:
提取已編譯和鏈接的應用,并將其加載到目標存儲器中;向目標處理器告知調(diào)試器已連接,并配置所有板載硬件調(diào)試模塊和功能;負責設(shè)置軟件和硬件斷點;在調(diào)試過程中可用于讀取寄存器和片上存儲器;接收實時應用程序跟蹤信息以用于調(diào)試應用程序。
在很多實例中,開發(fā)人員僅選擇他們能夠找到的最低成本的調(diào)試器,或很多開發(fā)套件附帶的默認板載 (OB) 調(diào)試器。這種做法的問題在于 OB 調(diào)試器的功能非常有限。
比較調(diào)試器之間差異的一種很好的方法是檢查 SEGGER 提供的調(diào)試工具。很多不同微控制器供應商的多種開發(fā)套件都提供了基于 SEGGER J-link 的 OB 調(diào)試器。下圖顯示了面向各種目標內(nèi)核的不同 J-link OB 調(diào)試器的典型特性集(圖 1)。
圖 1:低成本開發(fā)板附帶的各種 SEGGER J-link OB 調(diào)試器的特性集示例(圖片來源:SEGGER)
請注意,表格的最右側(cè)顯示了三個關(guān)鍵速度特性:SWO 速度、接口速度和下載性能。對于大多數(shù)零件而言,這些速度都不超過 4 MHz,其中大多數(shù)速度遠低于這個數(shù)字。
初看起來,這些 J-link OB 調(diào)試器的指標數(shù)據(jù)還不錯,畢竟它們是免費的。但是,如果將這些特性與 J-link Ultra+ 或 J-Trace 等全功能調(diào)試器進行比較(圖 2),您會改變這種看法。
圖 2:J-link 系列調(diào)試器提供專業(yè)級調(diào)試功能,速度高達 100 MHz。(圖片來源:SEGGER)
請注意:最低 SWO 速度為 30 MHz,最高達到 100 MHz。SWO 接口用于調(diào)試,也用于接收一些跟蹤數(shù)據(jù)。這種速度增加,再加上無限制斷點、以太網(wǎng)選項和嵌入式跟蹤緩沖區(qū) (ETB) 等額外特性,使得這些調(diào)試器成為極其高效的工具。與開發(fā)套件上的基本調(diào)試器相比,這些調(diào)試器的功能更為強大和豐富,不僅有助于加快編程速度,還能縮短實際調(diào)試系統(tǒng)的時間。
我們以 J-link Ultra+ 為例。這是一款全功能專業(yè)調(diào)試器,其特性包括無限制斷點,以及極快的 SWO 和接口時鐘速率(圖 3)。
希望將嵌入式工作臺提升到全新水平的開發(fā)人員應該考慮使用 SEGGER J-Trace(圖 4)。J-Trace 不僅支持與 J-link Ultra+ 相同的功能,還能夠使用 Arm 嵌入式跟蹤宏單元 (ETM) 接口連接到目標器件。
ETM 包含更多的數(shù)據(jù)通信通道,讓開發(fā)人員能夠檢索有關(guān)應用程序及微控制器工作狀況的更多信息。例如,開發(fā)人員能夠使用 ETM 來執(zhí)行代碼分支分析,甚至執(zhí)行指令跟蹤。