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