硬件設計人員利用邏輯分析儀分析總線和處理器的二進制時序波形,由于它顯示的是最底層硬件每個時鐘周期的變化,即數字器件與總線的二進制轉換情況,所以通常也稱為實時硬件跟蹤。
底層操作系統設計工程師也經常使用邏輯分析儀,但他們更加注重觀察那些和二進制轉換類似的存儲指令,也就是通常所說的實時指令跟蹤。如今邏輯分析儀配有一種稱為反匯編的工具可完成這項任務,反匯編工具專門針對處理器或總線設計,它可以從一系列二進制信息中提取特定的處理器存儲內容。
軟件設計人員通常都不太熟悉硬件工具,所以他們總是避免使用這些工具。軟件設計人員在電腦或工作站上用C++、VB及類似的語言編寫程序源代碼,并希望使用這些平臺完成整個設計、調試和評估過程。他們用軟件工具(仿真器和調試器)運行新的目標器件,而硬件工具如邏輯分析儀對許多軟件設計人員來說總是顯得格格不入。但由于現在系統日趨復雜,相互之間影響也越來越大,這種狀況正在漸漸改變。
目前用得最廣泛的是一種所謂在線仿真器(ICE)的工具,它可以追蹤目標器件并提取出源代碼。ICE是軟件設計工作站中運行控制工具的一個集成組件,它監測目標器件總線的活動情況,給出源代碼運行結果信息。有了ICE后,軟件工程師不需要使用邏輯分析儀調試就可以完成整個項目。
然而對軟件工程師來說,不幸的是ICE在有些方面的性能已落后于新一代高速處理器、存儲器件和總線,速度和連接性局限使它無法獨立觀測現代高速總線的復雜活動,軟件工程師必須使用邏輯分析儀這一測量工具來驗證他們源代碼的日子已經到來。
現代數字設計人員經常要與高速復雜多處理器系統打交道,如像圖1所示的一個用于通訊系統的基本嵌入式多處理器系統。上述三個領域的工程師都需要能有一種工具獲取長期相關數據,可從圖1系統中得到數以百萬計的運行周期信息,該工具要能夠從主處理器及其它從處理器、存儲總線和外圍總線獲得信息,重要的是這些信息還要和時間聯系起來,以便用戶可以清楚地知道所有不同的處理器和總線之間是怎樣相互作用的。只有邏輯分析儀才能即刻滿足所有要求。
用集成工具完成軟件分析調試
軟件設計人員都很理想地希望其軟件評估工作兩頭好處都能占到,既可以在熟悉的工作站控制終端上運行邏輯分析儀的采樣、顯示和分析,又不需要接觸到真正的邏輯分析儀。如今儀器生產廠商已開發出能滿足這種要求的解決方案,可以把功能強大的邏輯分析儀(如Tektronix TLA700系列)和經驗證的控制/仿真/調試工具(如Wind River的VisionClick)集成在一起。
這兩種功能結合起來的性能遠大于各部分功能的簡單相加。如果沒有執行控制工具,邏輯分析儀盡管能得到被測系統(SUT)的實時相關數據,但卻不能修改CPU的狀態,也不能單步執行程序,或者控制所監測的數據轉換;而如果沒有邏輯分析儀,執行控制工具雖然可以控制程序的每步執行情況,但是得不到滿意的次納秒級時序數據,或與時間對應的結果。
將兩種性能集成在一起的開發系統能采集實時信號、存儲狀況及源代碼,所有這一切都可以在易于操作的仿真(執行控制)工具環境下獲得。有了這種工具,軟件工程師就能夠得到長期高精度跟蹤數據,即使總線速度很高也不怕,有些邏輯分析儀的存儲能力甚至達到64M。
這樣一來,邏輯分析儀看起來就像是控制工具的一部分,得到的數據以軟件開發人員能看懂的形式顯示在仿真工作站屏幕上,它可以顯示出不同級別的數據,從存儲器到高級源代碼,還包括帶有清楚時間顯示的每一運行周期的功能。
文章來源于領測軟件測試網 http://www.kjueaiud.com/