ARM·中斷控制器
之前在基礎篇里面看過(guò)中斷概念的視頻,不過(guò)因為介紹的十分繁瑣,效果不是很好。今天看了高級開(kāi)發(fā)篇,決定把中斷的內容簡(jiǎn)化一些。
我覺(jué)得可以把這篇筆記分成2個(gè)區,寄存器區和代碼區。寄存器區方便以后查看,代碼區方便對中斷控制的分析
【代碼分析】
@******************************************************************************
@ File:head.S
@ 功能:初始化,設置中斷模式、管理模式的棧,設置好中斷處理函數
@******************************************************************************
.extern main @extern 聲明引用main函數
.text
.global _start
_start:
@******************************************************************************
@ 中斷向量,本程序中,除Reset和HandleIRQ外,其它異常都沒(méi)有使用
@******************************************************************************
@ 0x04: 未定義指令中止模式的向量地址
HandleUndef:
@ 0x08: 管理模式的向量地址,通過(guò)SWI指令進(jìn)入此模式
HandleSWI:
@ 0x0c: 指令預取終止導致的異常的向量地址
HandlePrefetchAbort:
@ 0x10: 數據訪(fǎng)問(wèn)終止導致的異常的向量地址
HandleDataAbort:
@ 0x14: 保留
HandleNotUsed:
@ 0x18: 中斷模式的向量地址
@ 0x1c: 快中斷模式的向量地址
HandleFIQ:
Reset:
halt_loop:
HandleIRQ:
int_return:
注意:
(1)異常向量表(這里只用到了reset和IRQ異常)和各工作模式的CPRS


(2)
1.在管理模式允許中斷,在中斷模式屏蔽中斷,防止中斷嵌套;且在管理模式用來(lái)Thumb,可以對表查看,做了解。
2.在每一中異常下都必須設置堆棧指針,便于調用C函數,因為pc在每種狀態(tài)下都是獨立的。
3.中斷初始化的同時(shí),也順便將硬件GPIO管腳初始化,把中斷函數初始化 ;
【關(guān)于中斷寄存器,也就是這章的重點(diǎn),也就都在中斷函數初始化 bl init_irq @ 調用中斷初始化函數,在init.c中中】
#include "s3c24xx.h"
#define GPF4_out (1<<(4*2))
#define GPF5_out (1<<(5*2))
#define GPF6_out (1<<(6*2))
#define GPF4_msk (3<<(4*2))
#define GPF5_msk (3<<(5*2))
#define GPF6_msk (3<<(6*2))
#define GPF0_eint (0x2<<(0*2))
#define GPF2_eint (0x2<<(2*2))
#define GPG3_eint (0x2<<(3*2))
#define GPF0_msk (3<<(0*2))
#define GPF2_msk (3<<(2*2))
#define GPG3_msk (3<<(3*2))
void disable_watch_dog(void)
{
}
void init_led(void)
{
}
void init_irq( )
{
}
紅色部分,便是我們這章的重點(diǎn)內容,也就是對中斷寄存器的配置,init的初始化 。

關(guān)鍵詞:
ARM中斷控制
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論