應用程序和軟件服務是智能手機和平板電腦等移動設備的主要區別。復雜多功能軟件應用程序的原型設計、開發、調試和驗證是一項重大工作,當軟件依賴于仍在開發中的硬件功能且電路板尚不可用時,這尤其具有挑戰性。
今天的硬件是根據軟件需求定義和配置的。基于各種軟件和硬件服務(如音頻/視頻、GPS、傳感器和無線電)的應用程序的啟動帶來了重大的調試挑戰。調試不會在單個軟件模塊、庫或軟件層的邊界處結束;它涉及分析多個軟件實體之間的交互。同樣,驗證需要涵蓋功能性能和功率要求。
對于復雜軟件服務的原型設計、開發、調試和驗證,Synopsys 提供了一個同時解決軟件和硬件架構的原型設計環境。該環境的核心是 ARM Cortex-A9x4 四核 Versatile Express 板的虛擬原型(圖 1),它捆綁了完整的 Android 2.1 端口。軟件開發人員可以充分利用 Cortex-A9 CPU 以及 Android 和 Linux 2.6 內核支持的四路對稱多處理 (SMP)。
圖 1: Synopsys 虛擬查看器簡化了 Java 應用程序中的本機代碼分析和調試。
通過虛擬化以太網連接,通過 Android Debug Bridge 與 Google 的基于 Eclipse 的軟件開發工具包集成,虛擬原型可用于一般的 Android 應用程序開發。它提供了專門的支持來簡化 Java 應用程序中的本地代碼分析和調試。越來越多的性能關鍵代碼以及遺留 C 代碼被編譯到 ARM CPU 的本機庫中。挑戰在于調試這些庫以及 Java 應用程序、Android 運行時環境、中間件庫和操作系統。這對于 SMP Linux 來說更加困難,因為形成復雜的多功能軟件服務所需的每個進程和線程都可能在不同的 CPU 上執行,并在重新調度時更改 CPU。
虛擬原型與軟件分析環境相輔相成,該環境可視化每個 CPU 隨著時間的推移這些進程的調度。執行此分析的能力基于虛擬原型內的專用操作系統感知監視器。因此,不需要嵌入式軟件工具。每個過程都可以分析到功能甚至指令級別。
腳本可以對所有硬件和軟件方面進行全自動控制和檢查。這對于功能、性能和功率驗證至關重要。具有環境交互的復雜場景(例如觸摸屏、鍵盤或無線電事件)可以輕松地以確定性方式記錄和重復。系統級以軟件為中心的斷言框架允許軟件工程師輕松地將斷言掛鉤到重放場景中。這些斷言可以驗證用戶通過應用程序執行的操作是否通過不同的軟件層正確傳播到硬件。連同功能方面,隨著時間的推移分析電源狀態,提供有關消耗能量的信息。
虛擬原型基于 Synopsys 模型庫和 ARM 的快速模型。用戶可以使用自定義 SystemC TLM-2.0 兼容模型擴展虛擬原型。
審核編輯:郭婷
-
ARM
+關注
關注
134文章
9097瀏覽量
367651 -
嵌入式
+關注
關注
5083文章
19129瀏覽量
305404 -
cpu
+關注
關注
68文章
10868瀏覽量
211844
發布評論請先 登錄
相關推薦
評論