能否及時(shí)高效地構(gòu)建嵌入式系統(tǒng),取決于軟件開(kāi)發(fā)人員在工作臺(tái)上是否有合適工具來(lái)幫助完成開(kāi)發(fā)工作。雖然預(yù)算通常受到限制,但有些工具是每位嵌入式軟件工程師都必需的,這些工具可以幫助他們大幅減少構(gòu)建、調(diào)試和驗(yàn)證其設(shè)計(jì)所需的時(shí)間。
開(kāi)發(fā)人員的工作臺(tái)上必備的第一種最重要工具是調(diào)試器。調(diào)試器的作用就如同包含應(yīng)用代碼的主機(jī)開(kāi)發(fā)機(jī)與將要運(yùn)行應(yīng)用代碼的目標(biāo)嵌入式處理器之間的橋梁。調(diào)試器提供幾種關(guān)鍵功能:
提取已編譯和鏈接的應(yīng)用,并將其加載到目標(biāo)存儲(chǔ)器中;向目標(biāo)處理器告知調(diào)試器已連接,并配置所有板載硬件調(diào)試模塊和功能;負(fù)責(zé)設(shè)置軟件和硬件斷點(diǎn);在調(diào)試過(guò)程中可用于讀取寄存器和片上存儲(chǔ)器;接收實(shí)時(shí)應(yīng)用程序跟蹤信息以用于調(diào)試應(yīng)用程序。
在很多實(shí)例中,開(kāi)發(fā)人員僅選擇他們能夠找到的最低成本的調(diào)試器,或很多開(kāi)發(fā)套件附帶的默認(rèn)板載 (OB) 調(diào)試器。這種做法的問(wèn)題在于 OB 調(diào)試器的功能非常有限。
比較調(diào)試器之間差異的一種很好的方法是檢查 SEGGER 提供的調(diào)試工具。很多不同微控制器供應(yīng)商的多種開(kāi)發(fā)套件都提供了基于 SEGGER J-link 的 OB 調(diào)試器。下圖顯示了面向各種目標(biāo)內(nèi)核的不同 J-link OB 調(diào)試器的典型特性集(圖 1)。
圖 1:低成本開(kāi)發(fā)板附帶的各種 SEGGER J-link OB 調(diào)試器的特性集示例(圖片來(lái)源:SEGGER)
請(qǐng)注意,表格的最右側(cè)顯示了三個(gè)關(guān)鍵速度特性:SWO 速度、接口速度和下載性能。對(duì)于大多數(shù)零件而言,這些速度都不超過(guò) 4 MHz,其中大多數(shù)速度遠(yuǎn)低于這個(gè)數(shù)字。
初看起來(lái),這些 J-link OB 調(diào)試器的指標(biāo)數(shù)據(jù)還不錯(cuò),畢竟它們是免費(fèi)的。但是,如果將這些特性與 J-link Ultra+ 或 J-Trace 等全功能調(diào)試器進(jìn)行比較(圖 2),您會(huì)改變這種看法。

圖 2:J-link 系列調(diào)試器提供專業(yè)級(jí)調(diào)試功能,速度高達(dá) 100 MHz。(圖片來(lái)源:SEGGER)
請(qǐng)注意:最低 SWO 速度為 30 MHz,最高達(dá)到 100 MHz。SWO 接口用于調(diào)試,也用于接收一些跟蹤數(shù)據(jù)。這種速度增加,再加上無(wú)限制斷點(diǎn)、以太網(wǎng)選項(xiàng)和嵌入式跟蹤緩沖區(qū) (ETB) 等額外特性,使得這些調(diào)試器成為極其高效的工具。與開(kāi)發(fā)套件上的基本調(diào)試器相比,這些調(diào)試器的功能更為強(qiáng)大和豐富,不僅有助于加快編程速度,還能縮短實(shí)際調(diào)試系統(tǒng)的時(shí)間。
我們以 J-link Ultra+ 為例。這是一款全功能專業(yè)調(diào)試器,其特性包括無(wú)限制斷點(diǎn),以及極快的 SWO 和接口時(shí)鐘速率(圖 3)。
希望將嵌入式工作臺(tái)提升到全新水平的開(kāi)發(fā)人員應(yīng)該考慮使用 SEGGER J-Trace(圖 4)。J-Trace 不僅支持與 J-link Ultra+ 相同的功能,還能夠使用 Arm 嵌入式跟蹤宏單元 (ETM) 接口連接到目標(biāo)器件。
ETM 包含更多的數(shù)據(jù)通信通道,讓開(kāi)發(fā)人員能夠檢索有關(guān)應(yīng)用程序及微控制器工作狀況的更多信息。例如,開(kāi)發(fā)人員能夠使用 ETM 來(lái)執(zhí)行代碼分支分析,甚至執(zhí)行指令跟蹤。
