在“PC 軟件”開發(fā)階段,可以用軟件仿真,即指令集模擬的方法,來對用戶程序進行驗證。在 ARM 公司的開發(fā)工具中,ADS®內(nèi)嵌的 ARMulator 和RealView® 開發(fā)工具中的 ISS,都提供了這項功能。在模擬環(huán)境下,用戶可以設(shè)置 ARM 處理器的型號、時鐘頻率等,同時還可以配置存儲器訪問接口的時序參數(shù)。程序在模擬環(huán)境下運行,不但能夠進行程序的運行流程和邏輯測試,還能夠統(tǒng)計系統(tǒng)運行的時鐘周期數(shù)、 存儲器訪問周期數(shù)、 處理器運行時的流水線狀態(tài) (有效周期、等待周期、連續(xù)和非連續(xù)訪問周期)等信息。這些寶貴的信息是在硬件調(diào)試階段都無法取得的,對于程序的性能評估非常有價值。
為了更加完整和真實地模擬一個目標系統(tǒng),ARMulator 和 ISS 還提供了一個開放的 API 編程環(huán)境。用戶可以用標準 C 來描述各種各樣的硬件模塊,連同工具提供的內(nèi)核模塊一起,組成一個完整的“軟”硬件環(huán)境。在這個環(huán)境下面開發(fā)的軟件,可以更大程度地接近最終的目標。