新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 從Flash和SRAM中觸發中斷的過程示例(一)

        從Flash和SRAM中觸發中斷的過程示例(一)

        作者: 時間:2013-09-24 來源:網絡 收藏

        使用LPC2106的Timer 1 進行的簡單的中斷處理。示例代碼中Timer1分為FIQ和IRQ,用戶可以從或者中運行這些代碼。

          示例展示了ARM構架中中斷是如何操作的。提供的代碼表示了向量IRQ(中斷請求)和FIQ(快速中斷)兩種情況。中斷向量位于FLASH地址中的 0x00-0x1C。如果需要從中運行,則中斷向量需要被remapped to 0x40000000-0x4000000C。這可以通過Memory Map register來做到。這些代碼用ADS1.2開發,從FLASH中運行。提供了從中運行代碼的不同之處。中斷服務程序(ISR)使用C語言編寫IRQ,用匯編來編寫FIQ。

          示例使用下面的樣式排列:

          1. TIMER1 被配置為觸發IRQ中斷,代碼從FLASH中運行;

          2. 代碼從SRAM中運行所需要的改變和增加;

          3. TIMER1被配置為觸發FIQ中斷,代碼從FLASH中運行;

          4. 代碼從SRAM中運行所需要的改變和增加。

          TIMER1 被配置為觸發一個IRQ中斷,代碼從FLASH中運行

          這個示例包含下述文件:

          1. 中斷向量表(ivt.s)

          2. 啟動用的匯編代碼(init.s)

          3. 主C文件

          只包含了相關的文件。在不同的交叉編譯環境下,C文件不用改變太多,而匯編文件需要改變。

          中斷向量表

          這些代碼應該被連接到0x0。

          ;***********************************************************

          ; 匯編指令

          ;*************************************************************

          AREA IVT,CODE ;新的代碼段

          CODE32 ;ARM 代碼

          IMPORT start ;導入外部函數。Start標志不應該在這個段內定義


        上一頁 1 2 3 下一頁

        關鍵詞: Flash SRAM 觸發中斷

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 应城市| 黄龙县| 杭锦旗| 信阳市| 河源市| 历史| 沭阳县| 益阳市| 睢宁县| 谷城县| 淮阳县| 加查县| 潮安县| 犍为县| 东乡县| 樟树市| 榆树市| 柯坪县| 宁南县| 阳江市| 密山市| 大名县| 钟山县| 怀远县| 中阳县| 瑞丽市| 吕梁市| 临湘市| 高雄市| 古蔺县| 邯郸县| 云和县| 丹巴县| 互助| 象山县| 宜章县| 元谋县| 昌都县| 疏勒县| 永平县| 贺兰县|