Peter Kampmann wrote:
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 ...
I have no idea what this file is, I never developed with Xilinx stuff.
There are probably others that can give you move advice, but:
- Could it be the other way around? That is, XEmac_IntrHandlerFifo has
c++ mangled signature, so you shouldn't extern "C" it?
- Is that file (xemac.c) part of some lib you need to reference in your
project somewhere?
- If not, is that file being compiled/linked?
Hope that helps,
Cheers,
Pedro Alves
P.S.:
How did you know I come from a royal line and my real last name
is "Alves 6th" :)
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users