Hi,
I think my setup is not supported but I'm just looking for suggestions. I have the omapl137 running succesfully a tcp echo. This is runnings on the arm and with sysbios and lwip. The code is a port for the DSP that I have adapted to the ARM, available in lwip 1.4.1.
My goal is to echo everything I receive on the emac not just tcp. For that what I would like to try is to disable passing data to the lwip stack and handle the echo directly from a callback or function called by the interrupts.
My problem is that as soon as I comment out the following line of code:
err_t arm9emac_low_level_input(struct pbuf *p, struct netif *netif)
{
/* This means the pbuf is freed or consumed,
so the caller doesn't have to free it again */
//return ethernet_input(p, netif);
}
and I put a breakpoint inside the emac rx isr, I can reach the interrupt but just for a few iterations (2-6); after that it does not breaks (or counts, I also added a simple counter in case the interrupt could have been screwing up the idle thread).
I know, I'm initializing everything properly since the tcp_echo works. This is how I create the hwi:
// www.ti.com/.../omap-l137.pdf page 69
Hwi_Handle rxisr = Hwi_create(34, (Hwi_FuncPtr) arm9emac_rx_interrupt, NULL, NULL);
Hwi_Handle txisr = Hwi_create(35, (Hwi_FuncPtr) arm9emac_tx_interrupt, NULL, NULL);
My stimulus for making sure I'm can break is sending a ping to the netif to the 192.168.10.3 or the broadcast.
Maybe there is an simpler example I can start from without lwip, since what I want to do is simply echo everything the emac receives.
Best Regards