
TMS320VC5410 的DSP/BIOS 不僅支持64K 程序頁內(nèi)的“近”訪問模式,而且支持擴展程序的“遠”訪問模式,只需設(shè)置DSP/BIOS 的屬性即可實現(xiàn)擴展程序的“遠”訪問。要注意的是,匯編語言寫的API 只能在PAGE0 頁調(diào)用,而C語言寫的API 可以在任何頁面調(diào)用。
3 中斷
當中斷產(chǎn)生時,DSP 的內(nèi)部結(jié)構(gòu)機制只能保存低16位頁內(nèi)的局部地址,而擴展尋址時程序地址需要23 位,這就意味著調(diào)用和返回時將超出64K(16位地址)的范圍,因此必須考慮怎樣保存和恢復擴展地址。解決的方法是用中斷服務程序(ISR)保存XPC的值,確保能正確計算中斷向量,為此中斷向量表必須放在公共區(qū)或映射區(qū)的64K 程序頁面上。當DSP/BIOS 在公共區(qū)上時,ISR 可以放在任何位置;如果不在公共區(qū)上,則ISR 必須放在PAGE0上。
當OVLY=0 時,為了能保證中斷正確執(zhí)行,必須在每一個頁面上都要有中斷向量表的拷貝。當OVLY=1 時,只需在公共頁面上(如0x7F80)作一份中斷向量表的拷貝就可以了。
4 程序?qū)嵗?/font>
下面通過一個簡單的例子介紹DSP/BIOS 如何實現(xiàn)程
序地址的擴展。本例中有三個軟中斷:時鐘中斷PRD_POST_SWI, 每100ms 觸發(fā)SWI_PAGE1(或SWI_PAGE2)一次;SWI_PAGE1 完成置XF 高;SWI_PAGE2完成置XF 低。三個軟中斷執(zhí)行的函數(shù)分別放在程序空間的不同頁面上,即PRD_POST_SWI 放在公共頁面上(XPC=0), Page1Func 和Page2Func 分別放在擴展程序頁面1和2 上(XPC為1和2)。





