除錯是嵌入式應用開發人員的日常工作之一。隨著應用日益複雜,除錯過程變得更加困難耗時。利用模擬器解決方案進行除錯的缺點在於無法準確複製應用操作條件。許多模擬器雖提供程式碼覆蓋率分析 (code coverage)、執行頻率統計 (profiling) 和條件中斷點等功能,卻只能模擬處理器核心和少數週邊。這對複雜的純軟體演算法測試或許足夠,但嵌入式應用卻常涉及許多軟硬體互動,如外部連接電路及類比數位轉換器與計時器模組等微控制器的整合週邊都會產生即時事件。此外,微控制器本身可能是更複雜系統的一部份,並且會連結外部控制與資料儲存元件,或是與DSP配合提供支援功能。開發人員很難在處理器核心模擬器的「無塵室環境」除錯、或驗證這些與外部元件通訊的軟體。
克服這些缺點的常用方法之一是使用線上模擬器 (ICE),ICE兼具模擬器的優點及在實際硬體即時執行軟體的能力。設計人員只需以晶片封裝轉接器 (chip-package adapter) 取代目標板上的微控制器,該轉接器會連接另一個含有複雜電子電路的機盒,負責模擬微控制器的行為和提供除錯功能。ICE模擬器雖有許多功能,但卻相當昂貴與笨重,且無法提供100%的精確環境,尤其在遇到類比數位轉換器、數位類比轉換器、比較器、振盪器和電壓參考這類敏感的類比週邊時更是如此。
有鑒於這些缺點,在微控制器加入除錯功能的嵌入式仿真變得很受歡迎。除錯電腦主機可透過嵌入仿真功能利用JTAG等序列界面直接連結晶片內建的仿真邏輯電路,應用程式碼即可在微控制器上執行。這種做法的優點在於軟體設計是在實際操作條件下進行,所以發展完成後不需額外的硬體測試。
...
...
使用者別 |
新聞閱讀限制 |
文章閱讀限制 |
出版品優惠 |
一般訪客 |
10則/每30天 |
5/則/每30天 |
付費下載 |
VIP會員 |
無限制 |
20則/每30天 |
付費下載 |