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

Reply via email to