UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 37429

12.1 EDK - multiple definition of '_interrupt_handler'

Description

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'

Solution

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).

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
34609 12.x EDK - Master Answer Record List N/A N/A
AR# 37429
Date Created 08/19/2010
Last Updated 12/15/2012
Status Active
Type General Article
Tools
  • EDK - 11.1
  • EDK - 11.2
  • EDK - 11.3
  • More
  • EDK - 11.4
  • EDK - 11.5
  • EDK - 12.1
  • EDK - 12.2
  • EDK - 12.3
  • Less