色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MCU_S3C2410之中斷控制

          MCU_S3C2410之中斷控制

          作者: 時間:2016-11-11 來源:網(wǎng)絡 收藏
          功能分析

          本文引用地址:http://cafeforensic.com/article/201611/316924.htm

          支持56個中斷

          寄存器分析

          SRCPND

          INTMOD

          INTMSK

          INTSUBMSK

          EXTINT

          EINTPEND

          INTPND

          代碼分析

          __irq的使用

          __irq為一個標識,用來表示一個函數(shù)是否為中斷函數(shù)。對于不同的編譯器,__irq在函數(shù)名中的位置不一樣,例如:
          ADS編譯器中: void __irq IRQ_Eint0(void);
          Keil編譯器中: void IRQ_Eint0(void) __irq;
          但是其意義一樣,它所完成的任務是標識該函數(shù)為中斷函數(shù),在編譯器編譯是調用此函數(shù)時,先保護函數(shù)入口現(xiàn)場,然后執(zhí)行中斷函數(shù),

          函數(shù)執(zhí)行完畢,恢復中斷現(xiàn)場,這整個過程不需要用戶重新編寫代碼來完成,由編譯器自動完成。因而這也給不具備中斷嵌套功能的ARM系統(tǒng)帶來

          了問題,若使用 __irq 時有中斷嵌套產生,這現(xiàn)場保護就會混亂。在前一篇日志“LPC2000系列中斷嵌套處理”中,自己編寫中斷入口現(xiàn)場保護代

          碼,并不使用 __irq 標識符號,就是這個原因。
          總結如下:
          1、若不想自己編寫中斷入口現(xiàn)場保護代碼,而且使用中無中斷嵌套,在中斷函數(shù)中用 __irq 來標識我們的中斷函數(shù),否則出錯;
          2、若程序中要使用中斷嵌套,對于無中斷嵌套功能的ARM來說,一定要自己編寫中斷入口現(xiàn)場保護代碼,而且不能用 __irq 標識我們的

          中斷函數(shù),否則出錯。



          關鍵詞: MCUS3C2410中斷控

          評論


          技術專區(qū)

          關閉