| vectors.s: ENTRY
 LDR     PC, Reset_Addr
 LDR     PC, Undefined_Addr
 LDR     PC, SWI_Addr
 LDR     PC, Prefetch_Addr
 LDR     PC, Abort_Addr
 NOP                             ; Reserved vector
 LDR     PC, IRQ_Addr
 LDR     PC, FIQ_Addr
 
 IMPORT  Reset_Handler           ; In init.s
 IMPORT  inc_clock   [WEAK]      ; In clock_irq.c
 
 Reset_Addr      DCD     Reset_Handler
 Undefined_Addr  DCD     Undefined_Handler
 SWI_Addr        DCD     SWI_Handler
 Prefetch_Addr   DCD     Prefetch_Handler
 Abort_Addr      DCD     Abort_Handler
 IRQ_Addr        DCD     IRQ_Handler
 FIQ_Addr        DCD     FIQ_Handler
 
 但是我们程序里只有IRQ_Int_Handler()这个函数,我不知道IRQ_Int_Handler()具体怎么和IRQ_Addr DCD IRQ_Handler发生关系的??
 
 还有个问题,看书上说,应该中断程序退出时,需要恢复CPSR的,但是我C代码里 没有这个代码 为什么??通常C代码的isr中,怎么恢复CPSR,我里头只有一个__enable_irq()的函数,好像是库函数,反正找不到这个函数的代码。
 |