ARM軟件程序設計
ARM系統(tǒng)的中斷處理流程如圖1所示。系統(tǒng)中主要有定時器中斷、串口輸入中斷、串口輸出中斷、接口中斷、鏈路中斷5種中斷。
圖1 申斷處理流程圖
其中:
·定時器中斷模塊主要是為操作系統(tǒng)提供時鐘基準。
·串口輸入和輸出中斷模塊主要給用戶提供接口,方便程序的下載與調(diào)試。
·接口中斷模塊負責每2ms與總線上其他板卡通信一次。
·鏈路中斷模塊也是每隔一段時間處理一次鏈路的數(shù)據(jù),它的任務最重。
因此,應該將鏈路中斷模塊設置成∏Q快速中斷方式,其他模塊都設成IRQ普通中斷方式。
2. 中斷程序設計
正確、恰當?shù)厥褂弥袛喑绦蚩梢允骨度胧较到y(tǒng)應用運行得更有效率,下面給出ARM中斷測試的部分匯編源程序。測試程序開啟T】定時器中斷進行測試,通過中斷服務程序使與PD0連接的LED指示燈閃亮。
?。?)中斷服務程序
3. 中斷處理程序優(yōu)化
將中斷處理盡可能搬到內(nèi)部RAM或SDRAM中,以前的中斷處理函數(shù)代碼放在Flash中,數(shù)據(jù)放在SDRAM中,F(xiàn)lash速度遠慢于SDRAM,這是限制中斷處理速度的一大瓶頸?,F(xiàn)在可以通過改變編譯配置,將所有的中斷處理函數(shù)都復制到ARM內(nèi)部RAM或者SDRAM中。一股情況下,內(nèi)部RAM速度要快于外部的SDRAM,因此,可以修改以下編譯配置文件。
如表所示是改編譯環(huán)境前后的中斷處理速度的對比,可是看出在SDRAM中代碼的執(zhí)行速度比在Flash中大約快4倍。
表 中斷處理速度優(yōu)化前后對比
評論