Is there built in tftpclient in the lwip? or you are writing tftpclient or integrating tftp client code using raw API given? I think dhcp code is part of the core, but tftp is not there right?
MB.
On Tue, Jan 19, 2010 at 3:46 PM, Simon Goldschmidt
<address@hidden> wrote:
"Mathias Zenger" wrote:
> I would like to write an ethernet boot loader for my embedded system. A
> small TFTP client shall be part of the bootloader. The client shall be
> based
> on the raw API (code size is critical). Can somebody explain me which bare
> parts from lwIP (or perhaps uIP) I shall use to get a basic TFTP
> communication working? I guess I would need ARP, IP and UDP (but which
> files?). Would be great if somebody even could provide a functional
> example.
I would recommend to compile all files and use lwipopts.h to strip down code size (most of the files are then automatically left out through #if's).
Then, copy opt.h and define everything to 0 you don't need. I think there are some recommendations regarding size in the lwip wiki.
You should set NO_SYS to 1 (unless there's an OS in your bootloader), and you can at least turn off (LWIP_-) TCP, ICMP, IP_FRAG/_REASS, RAW, NETCONN and SOCKET. Regarding RAM usage (not code size), you will want to configure the MEM/MEMP settings as low as possible, although you need to tweak this after your application is finished.
Oh, and I guess you'd nee DHCP, too, for your client to get an IP address. The current code doesn't allow it, but I have a change in preparation that parses the bootloader file returned by the DHCP server.
And last but not least, I'd greatly appreciate if you could share the code with us: I'd like to add such a boot-client to the dhcp client code...
Simon
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01