Pedro Alves-6 wrote:
A few ideas:
1)
You wrapped this? :
> XIntc_RegisterHandler(XPAR_OPB_INTC_0_BASEADDR,
> XPAR_OPB_INTC_0_ETHERNET_MAC_IP2INTC_IRPT_INTR,
> (XInterruptHandler)XEmac_IntrHandlerFifo,
> xemacif_ptr->instance_ptr);
or the declaration of XEmac_IntrHandlerFifo?
I wrapped the file that includes the above call XIntc_RegisterHandler(..)
but that did not help.
All files in lwip and the xilinx emac seem to have the
#ifdef __cplusplus
extern "C" { ...
around their headers.
Pedro Alves-6 wrote:
You need to wrap XEmac_IntrHandlerFifo.
No idea what the function looks like, but probably like this?
extern "C" void XEmac_IntrHandlerFifo(void*);
2)
Is the function really defined?
Try checking with the map file, if you have one,
or with something equivalent of nm or objdump.
The function is defined, when I use Ctrl+clicking onto XEmac_IntrHandlerFifo
the Platform Studio SDK points me to the function, which is located in
xemac.c.
But the linker does not find it ...