?? 向量表.txt
字號:
關于中斷向量表中變量的定義(ARM7的LPC2104開發板)以下是中斷向量表:
Vectors
LDR PC, ResetAddr
LDR PC, UndefinedAddr
LDR PC, SWI_Addr
LDR PC, PrefetchAddr
LDR PC, DataAbortAddr
DCD 0xb9205f80
LDR PC, [PC, #-0xff0]
LDR PC, FIQ_Addr
ResetAddr DCD Reset
UndefinedAddr DCD Undefined
SWI_Addr DCD SoftwareInterrupt
PrefetchAddr DCD PrefetchAbort
DataAbortAddr DCD DataAbort
Nouse DCD 0
IRQ_Addr DCD 0
FIQ_Addr DCD FIQ_Handler
請問:vectors這個標號是在什么地方調用的?是不是在頭文件中定義為地址為0x00000000?一開機上電就執行這個的?
謝謝各位了!
0
dreamliner
注冊 : 2006-1-3 16:18:58
發貼 :1
晶石:10★
2006年3月21日 vector這個標號沒有用其實還不如這樣編寫:
CODE32
AREA Vect,CODE,READONLY
ENTRY
LDR PC, Reset_Addr
LDR PC, Undefined_Addr
LDR PC, SWI_Addr
LDR PC, Prefetch_Addr
LDR PC, DataAbort_Addr
DCD 0xb9205f80
LDR PC, [PC, #-0xff0]
LDR PC, FIQ_Addr
Reset_Addr DCD Reset_Handler
Undefined_Addr DCD Undefined_Handler
SWI_Addr DCD SWI_Handler
Prefetch_Addr DCD Prefetch_Handler
DataAbort_Addr DCD Abort_Handler
Nouse DCD 0
IRQ_Addr DCD 0
FIQ_Addr DCD FIQ_Handler
ENTRY通知編譯器不要把向量表去掉,因為實際的代碼中并沒有用到向量表。
ARM系統(絕大部分)起動時都是自動從地址零取出第一條指令,即 LDR PC, Reset_Addr
而Reset_Addr DCD Reset_Handler
所以自動跳轉到Reset_Handler處執行,至于那個vectors標號,無用!
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -