"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


_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to