邏輯分析儀在嵌入式開(kāi)發(fā)調試中的應用
在嵌入式開(kāi)發(fā)調試中,開(kāi)發(fā)人員的調試手段包括斷點(diǎn)、觸發(fā)和跟蹤三種。隨著(zhù)集成電路技術(shù)的發(fā)展,新一代的嵌入式處理器集成度和工作頻率越來(lái)越高,芯片封裝形式也越來(lái)越趨向表貼化。在線(xiàn)調試器(ICD)與邏輯分析儀的組合開(kāi)發(fā)調試平臺越來(lái)越多地成為廣大的新一代嵌入式處理器的開(kāi)發(fā)人員實(shí)現上述三種調試手段的首選。
本文引用地址:http://dyxdggzs.com/article/148262.htm開(kāi)發(fā)人員使用斷點(diǎn)功能控制所調試的應用程序的起和停。使應用程序運行到自己想要調試的程序上。通過(guò)觀(guān)察在斷點(diǎn)處的應用程序的變量以及寄存器和存儲器的值檢測所調試的應用程序運行是否正確。斷點(diǎn)是開(kāi)發(fā)人員經(jīng)常使用的調試手段。
斷點(diǎn),顧名思義就是(應用程序)停下來(lái)的地方。斷點(diǎn)按照其實(shí)現方法分為軟件斷點(diǎn)和硬件斷點(diǎn)。軟件斷點(diǎn)是靠程序指令陷阱來(lái)實(shí)現的。硬件斷點(diǎn)是靠嵌入式處理器或調試工具硬件來(lái)實(shí)現的。軟件斷點(diǎn)的實(shí)現方法對于不同的嵌入式處理器和不同的調試工具而言,實(shí)現方法都是一樣的,都是通過(guò)修改程序指令的方法實(shí)現的。硬件斷點(diǎn)的實(shí)現方法對于不同的嵌入式處理器和不同的調試工具而言,實(shí)現方法是不一樣的。有的嵌入式處理器具有片上調試邏輯,調試工具通過(guò)JTAG、BDM、OCDS、NEXUS等接口訪(fǎng)問(wèn)控制片上調試邏輯,通過(guò)片上調試邏輯實(shí)現硬件斷點(diǎn)。這種硬件斷點(diǎn)的數量是有限制的。由于不同的嵌入式處理器上的調試邏輯實(shí)現方法不同,因而它們提供的硬件斷點(diǎn)的數量是不一樣的。在線(xiàn)調試器(ICD)就是通過(guò)訪(fǎng)問(wèn)控制片上調試邏輯實(shí)現硬件斷點(diǎn)的。沒(méi)有片上調試邏輯的嵌入式處理器不能使用在線(xiàn)調試器。在線(xiàn)仿真器(ICE)通過(guò)基于存儲器的斷點(diǎn)技術(shù)實(shí)現硬件斷點(diǎn)。在線(xiàn)仿真器實(shí)現的硬件斷點(diǎn)的數量是沒(méi)有限制的。對于沒(méi)有片上調試邏輯的嵌入式處理器,可以考慮用在線(xiàn)仿真器(ICE)進(jìn)行調試。
單步是斷點(diǎn)的一種特殊形式,它相當于在下一條指令或程序行上設置一個(gè)斷點(diǎn),程序啟動(dòng)運行到斷點(diǎn)停下來(lái)。
觸發(fā)用于捕捉所調試的應用程序在運行中出現的某一特定目標狀態(tài)。這一特定的目標狀態(tài)就是通常所說(shuō)的觸發(fā)條件。觸發(fā)條件通常是處理器的特定的地址、數據、控制總線(xiàn)以及內部/外部信號狀態(tài)的邏輯組合。當一個(gè)觸發(fā)條件不足以描述要捕捉的目標狀態(tài)時(shí),開(kāi)發(fā)人員通常會(huì )使用觸發(fā)序列器(Sequencer)將多個(gè)觸發(fā)條件級聯(lián)起來(lái)。調試工具在觸發(fā)發(fā)生之后,要么停止所調試的應用程序的運行,要么增加觸發(fā)記數器,要么輸出一個(gè)觸發(fā)信號,以便通知開(kāi)發(fā)人員,所要捕捉的觸發(fā)條件已發(fā)生。為了便于開(kāi)發(fā)人員觀(guān)察觸發(fā)發(fā)生之后應用程序的執行情況,調試工具通常會(huì )提供觸發(fā)滯后的功能。觸發(fā)滯后就是調試工具在發(fā)生觸發(fā)之后仍然使應用程序結續運行一段特定的時(shí)間之后才將應用程序停下來(lái)。
不同的調試工具對觸發(fā)功能的實(shí)現程度是不一樣的。在線(xiàn)仿真器(ICE)絕大多數都可以實(shí)現完型的觸發(fā)功能。在線(xiàn)調試器(ICD)對觸發(fā)功能的實(shí)現程度取決于所調試的嵌入式處理器上的片上調試邏輯。在線(xiàn)調試器(ICD)與邏輯分析儀組合,可以宴現較完整的觸發(fā)功能。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論