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