IRQ Handlers are similar to AN10995:
void NMI_Handler(void)
{
/* Re-direct interrupt, get handler address from application vector table */
asm volatile("ldr r0, =0x2008");
asm volatile("ldr r0, [r0]");
asm volatile("mov pc, r0");
}
void HardFault_Handler(void)
{
/* Re-direct interrupt, get handler address from application vector table */
asm volatile("ldr r0, =0x200C");
asm volatile("ldr r0, [r0]");
asm volatile("mov pc, r0");
}
void SVCall_Handler(void)
{
/* Re-direct interrupt, get handler address from application vector table */
asm volatile("ldr r0, =0x202C");
asm volatile("ldr r0, [r0]");
asm volatile("mov pc, r0");
}
void PendSV_Handler(void)
{
/* Re-direct interrupt, get handler address from application vector table */
asm volatile("ldr r0, =0x2038");
asm volatile("ldr r0, [r0]");
asm volatile("mov pc, r0");
}
void SysTick_Handler(void)
{
/* Re-direct interrupt, get handler address from application vector table */
asm volatile("ldr r0, =0x203C");
asm volatile("ldr r0, [r0]");
asm volatile("mov pc, r0");
}
void WAKEUP_IRQHandler(void)
{
/* Re-direct interrupt, get handler address from application vector table */
asm volatile("ldr r0, =0x2040");
asm volatile("ldr r0, [r0]");
asm volatile("mov pc, r0");
}
Some help is needed, please.
Can somebody try my sequence and check what's the problem?