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