六月婷婷综合-日韩理论在线-69久久久久-欧色图-蜜桃成人在线视频-色先锋在线-亚洲va中文字幕-香蕉影院在线-av一区免费-强开小嫩苞一区二区三区网站-国产视频九色蝌蚪

寧波市鄞州首南恒宇激光雕刻廠

邏輯分析儀在嵌入式開發調試中的應用
分享到:


在嵌入式開發調試中,開發人員的調試手段包括斷點、觸發和跟蹤三種。隨著集成電路技術的發展,新一代的嵌入式處理器集成度和工作頻率越來越高,芯片封裝形式也越來越趨向表貼化。在線調試器(ICD)與邏輯分析儀的組合開發調試平臺越來越多地成為廣大的新一代嵌入式處理器的開發人員實現上述三種調試手段的首選。

開發人員使用斷點功能控制所調試的應用程序的起和停。使應用程序運行到自己想要調試的程序上。通過觀察在斷點處的應用程序的變量以及寄存器和存儲器的值檢測所調試的應用程序運行是否正確。斷點是開發人員經常使用的調試手段。

斷點,顧名思義就是(應用程序)停下來的地方。斷點按照其實現方法分為軟件斷點和硬件斷點。軟件斷點是靠程序指令陷阱來實現的。硬件斷點是靠嵌入式處理器或調試工具硬件來實現的。軟件斷點的實現方法對于不同的嵌入式處理器和不同的調試工具而言,實現方法都是一樣的,都是通過修改程序指令的方法實現的。硬件斷點的實現方法對于不同的嵌入式處理器和不同的調試工具而言,實現方法是不一樣的。有的嵌入式處理器具有片上調試邏輯,調試工具通過JTAG、BDM、OCDS、NEXUS等接口訪問控制片上調試邏輯,通過片上調試邏輯實現硬件斷點。這種硬件斷點的數量是有限制的。由于不同的嵌入式處理器上的調試邏輯實現方法不同,因而它們提供的硬件斷點的數量是不一樣的。在線調試器(ICD)就是通過訪問控制片上調試邏輯實現硬件斷點的。沒有片上調試邏輯的嵌入式處理器不能使用在線調試器。在線仿真器(ICE)通過基于存儲器的斷點技術實現硬件斷點。在線仿真器實現的硬件斷點的數量是沒有限制的。對于沒有片上調試邏輯的嵌入式處理器,可以考慮用在線仿真器(ICE)進行調試。

單步是斷點的一種特殊形式,它相當于在下一條指令或程序行上設置一個斷點,程序啟動運行到斷點停下來。

觸發用于捕捉所調試的應用程序在運行中出現的某一特定目標狀態。這一特定的目標狀態就是通常所說的觸發條件。觸發條件通常是處理器的特定的地址、數據、控制總線以及內部/外部信號狀態的邏輯組合。當一個觸發條件不足以描述要捕捉的目標狀態時,開發人員通常會使用觸發序列器(Sequencer)將多個觸發條件級聯起來。調試工具在觸發發生之后,要么停止所調試的應用程序的運行,要么增加觸發記數器,要么輸出一個觸發信號,以便通知開發人員,所要捕捉的觸發條件已發生。為了便于開發人員觀察觸發發生之后應用程序的執行情況,調試工具通常會提供觸發滯后的功能。觸發滯后就是調試工具在發生觸發之后仍然使應用程序結續運行一段特定的時間之后才將應用程序停下來。

不同的調試工具對觸發功能的實現程度是不一樣的。在線仿真器(ICE)絕大多數都可以實現完型的觸發功能。在線調試器(ICD)對觸發功能的實現程度取決于所調試的嵌入式處理器上的片上調試邏輯。在線調試器(ICD)與邏輯分析儀組合,可以宴現較完整的觸發功能。

開發人員通常將觸發功能與下面要講到的跟蹤功能一起使用,來捕捉導致應用程序中問題產生自原因。

跟蹤就是記錄所調試的應用程序的執行過程,以便開發人員分析導致應用程序出現問題的原因。跟蹤的記錄方式有先進先出方式和壓棧方式。先進先出方式總是記錄應用程序停下來之前的最新運行過程。在先進先出方式下,如果跟蹤記錄緩沖填滿的話,最先跟蹤的記錄就要丟棄,以便填充新的記錄。壓找方式記錄跟蹤開始到跟蹤記錄緩沖被填滿這段時間內應用程序的運行過程。在壓棧方式下,如果跟蹤記錄緩沖填滿的話,新的應用程序執行過程將不被記錄。跟蹤還可以有選擇地記錄程序的執行過程,例如,只記錄函數入口和出口的執行過程。當然,要進行有選擇跟蹤,開發人員必須對跟蹤功能進行設置。

不同的調試工具對跟蹤功能的實現方式是不一樣的。在線仿真器(ICE)由于其結構的特殊性,它可以捕獲到嵌入式處理器的總線周期,它的跟蹤記錄的最小單位就是總線周期。在線仿真器(ICE)調試軟件譯碼這些總線周期,倒推出程序的執行過程。在線調試器(ICD)因為不能捕獲嵌入式處理器的總線周期,因而決大多數沒有跟蹤功能。有些嵌入式處理器的片上調試邏輯能夠將程序的執行過程信息壓縮之后通過特定的接口送到芯片外部,供外部的調試工具使用。這樣,在線調試器(ICD)可以通過增加跟蹤模塊捕獲這些信息的方法實現跟蹤功能。在線調試器(ICD)調試軟件從跟蹤模塊記錄的嵌入式處理器送出來的指令流信息,還原出應用程序的執行過程。基于ARM內核的嵌入式處理器芯片上的ETM接口就是一個這樣的接口。通過這種方法實現的跟蹤功能的完善程度完全取決于片上調試邏輯。

由于邏輯分析儀具有超強的邏輯跟蹤分析功能,因而它可以捕獲記錄嵌入式處理器的總線周期,也可以捕獲記錄來自象ETM這樣的接口的程序執行信息,并對這些記錄進行分析,譯碼或還原出應用程序的執行過程。邏輯分析儀通過觸發接口與在線調試器(ICD)協調工作,補充在線調試器(ICD)在跟蹤功能方面的不足,與在線調試器(ICD)一起為開發人員提供斷點、觸發和跟蹤三種調試手段。

下面以Lauterbach公司的TRACE32-ICD和Tektronix公司的TLA700邏輯分析儀為例,介紹如何將邏輯分析儀與在線調試器組合成開發調試平臺,為開發人員提供的斷點、觸發和跟蹤功能。

首先介紹一下Lauterbach公司的TRACE32-ICD。

TRACE32-ICD是在線調試器。它采用模塊化的設計,可以支持具有JTAG、BDM、0CDS、NEXUS等調試接口的嵌入式處理器。它可以為嵌入式處理器的開發人員提供斷點及觸發功能(利用片上調試邏輯)。TRACE32-ICD的調試器軟件運行在Windows平臺上。TRACE32-ICD通過并口、以太網口、USB口等形式與PC連接。TRACE32-ICD具有觸發輸入/輸出端口,通過它TRACE32-ICD與邏輯分析儀連接。TRACE32-ICD與邏輯分析儀通過該連接相互觸發,協調工作。

接下來,介紹一下Tektronix公司的TLA700邏輯分析儀。

TLA700邏輯分析儀除了具有傳統的邏輯分析儀的邏輯采集和分析功能之外,是它采用了開放靈活的Windows平臺架構,具有串口、并口及以太網等接口。這樣一來,基于Windows平臺的嵌入式開發調試軟件就可以運行在TLA700上。嵌入式處理器的開發人員可以用TLA700搭建嵌入式開發調試平臺。另外,TLA700的HLL源碼支持功能可以直接分析采用IEEE695、OMFx86、COFF、ELF/Dwarf、ELF/Stabs和ASCII格式的可調試的應用程序。這也為它集成在線調試器,例如,TRACE32-ICD,補充在線調試器在跟蹤功能方面的不足奠定了基礎。

聯系我們

地址: 浙江省.寧波市鄞州區寧姜公路(九曲小區二期旁)

郵編: 315040

聯系人: 盛立峰

電話: 0574-87139378

傳真: 0574-87139378

手機: 13867861670

郵箱: 85400329@qq.com

聯系我們
主站蜘蛛池模板: 金山区| 精河县| 视频| 浦县| 眉山市| 堆龙德庆县| 静安区| 武强县| 乌什县| 高雄县| 额济纳旗| 印江| 福贡县| 平塘县| 海口市| 海盐县| 抚州市| 仲巴县| 个旧市| 固安县| 肇州县| 绵竹市| 肇州县| 孝昌县| 天镇县| 鸡泽县| 上高县| 藁城市| 日喀则市| 宜都市| 天镇县| 绥芬河市| 易门县| 宁德市| 顺昌县| 区。| 黄冈市| 信宜市| 澜沧| 海宁市| 丽江市|