Hi~~All
Recently, I run my ARMlinux 2.0.X kernel on my borad.
Unfortunately, I found the hardware interrupt can't interrupt
my running kernel.
For all I know the exception vector table of ARM7 is no the
address 0x0-0x18. But the address 0 is for boot rom.
When power on, the boot ROM expection vector table must be
mirror to DRAM exception vector table. In the uClinux/ARM,
the setting is on the function - trap_init .
In trap_init,We put Lbranches into 0x0,and map the vector
table base from 0x0 to 0xe0, Then put jump_addresses into 0xe0.
At jump_addresses. It point the real exception handler.
For example, having a hardware IRQ happen, The linux kernel
will stop. And the code will branch to IRQ handler(vector_IRQ).
But I set the breakpoint at vector_IRQ. I run the kernel.
I init the timer and enable the timer interrupt. Running
the kernel,the timer interrupt happen, But the code would not
break at vcetor_IRQ and can't return kernel code.
Anyone can what's worng and How can I check the exception
vector table setting correctly?
Thanks and Best Regards
By Jimmy Yang
_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm