AR# 37429: 12.1 EDK - multiple definition of '_interrupt_handler'
12.1 EDK - multiple definition of '_interrupt_handler'
I am using Xilkernel for my application. In setting the interrupt controller, I call microblaze_register_handler(). When I linked in -lxilkernel,I see the following error:
/cygdrive/c/Software/Xilinx/eval_interrupt/processor_subsystem/SDK_projects/microblaze_0_sw_platform/ microblaze_0/libsrc/standalone_v2_00_a/src/microblaze_interrupt_handler.c:79: multiple definition of '_interrupt_handler'
This error occurs because Xilkernel does not initialize interrupts in the same fashion that you would use forthe Standalone OS. In order to initialize interrupts for Xilkernel, one must call xilkernel_main() at which point interrupts for the OS are initialized. In the thread that is launched from xilkernel_main(), you can register more handlers and enable the interrupts for other resources by using the register_int_handler() and enable_interrupt() functions.
This is further explained in the OS and Libraries Document Collection (oslib_rm.pdf).