我正在尝试用我的中断处理程序替换一些CS3中断处理器。在"ISRs for stellaris_blizzard“文件的下面
#if defined (L_stellaris_blizzard_isr_interrupt)
.globl __cs3_isr_interrupt
.type __cs3_isr_interrupt, %function
__cs3_isr_interrupt:
b .
.size __cs3_isr_interrupt, . - __cs3_isr_interrupt
.weak __cs3_isr_reserved_7
.globl __cs3_isr_reserved_7
.set __cs3_isr_reserved_7, __cs3_isr_interrupt
...
.weak __cs3_isr_GPIOM
.globl __cs3_isr_GPIOM
.set __cs3_isr_GPIOM, __cs3_isr_interrupt
...
#endif /* interrupt */
...
#if defined (L_stellaris_blizzard_isr_systick)
.globl __cs3_isr_systick
.type __cs3_isr_systick, %function
__cs3_isr_systick:
b .
.size __cs3_isr_systick, . - __cs3_isr_systick
#endif /* systick */和我的操纵者
extern "C" void __cs3_isr_systick() { ... }
extern "C" void __cs3_isr_GPIOM() { ... }SysTick中断工作正常。但当端口M上发生GPIO中断时,会调用默认的"__cs3_isr_interrupt“。如何更换GPIO中断处理程序?
发布于 2012-04-19 04:46:12
您应该检查目标文件是否具有您期望的正确的弱/非弱类型(使用nm)。
如果这不能解决它,那么你就有了链接器的问题,而这些问题更难解决。
https://stackoverflow.com/questions/10196530
复制相似问题