Hello, I'm currently a student of ECE at California Polytechnic
University Pomona. I recently purchased a Spartan-3E board, as
that is what our laboratory courses are using for learning about
Microprocessor programming. The majority of our labs involve
derivitives of the labs offered under the Xilinx University
Program. At the moment, we are on lab #5, dealing with
programming using Interrupt Controllers and Handlers. What the
professor has requested is making a clock which increments every second
based upon an interrupt signal.
Now, I'm not asking for the code or anything like that... like I said,
it was all more or less a derivitive of what was provided by the folks
at Xilinx. What I'm having an issue with is the fact that after
following all the instructions, both in the derived form and to the
letter from Xilinx, I am consistently receiving the error:
./microblaze_0/lib//libxil.a(xintc_g.o)(.data+0x10):/cygdrive/d/School/ECE342L/Lab4/microblaze_0/libsrc/intc_v1_00_c/src/xintc_g.c:
undefined reference to `timer_int_handler'
and within the file, the only reference to the timer_int handler is as such:
extern void timer_int_handler (void *);
XIntc_Config XIntc_ConfigTable[] =
{
{
XPAR_OPB_INTC_0_DEVICE_ID,
XPAR_OPB_INTC_0_BASEADDR,
XPAR_OPB_INTC_0_KIND_OF_INTR,
XIN_SVC_SGL_ISR_OPTION,
{
{
timer_int_handler,
(void *) XPAR_DELAY_BASEADDR
}
}
}
};
I've read the instructions and did some searches and they mention that
a linker might solve some of these problems. Lo and behold,
the one provided along w/ the lab solutions failed to work. I
tried renaming it to the reference given to it within xparameter.h...
still no dice. Per Xilinx, the file is used for configuring a
table used for each interrupt controller being used by the
system. I'm completely clueless as to what I'm supposed to do to
allow the program to compile from this point. At the moment,
timer_int_handler is defined as my Interrupt Handler within my primary
*.C file, as a seperate function from the main function.