Çağlar AKYÜZ <[EMAIL PROTECTED]> writes:

> > What came to mind today was the possibility to call netconn_write() with
> > NO_COPY, referencing an external memory location instead of pointing to an
> > internal buffer.
> >   
> What kind of external memory do you mean? SAM7X does not have any 
> external memory bus. Are you using a parallel memory from GPIO?

In my current tests, I am retrieving files from external DataFlash.  Eventually
I will be retrieving bulk data from external NAND memory.

> Actually I'm unable to get your problem. If you are facing slow transfer 
> rate and want to increase it, then try to give some extra information. 
> For instance, I couldn't exceed 5 KBytes per second transfer rate with 
> TCP on a SAM7X while I can reach 800 KBytes per second with UDP one the 
> same machine.

I seem to be in the ~310KBytes per second range with TCP right now, but I need
yet to test with larger file size transfers.  My problem is that the limited
processor RAM makes it difficult to optimize lwIP options for large data
transfers, from what I understand.  I had been calling netconn_write(), with the
COPY option as the passing data buffer is reloaded with new data from DataFlash
just after the netconn_write() call - so the original data buffer would not be
intact for retransmissions.
  
My thought was the possibility to call netconn_write() with the NO_COPY option
and instead of passing a pointer to a RAM data buffer, pass a starting DataFlash
address.  Retransmissions could be re-read from DataFlash instead of holding
them in RAM.

Alan



_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to