[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-devel] LWIP on Cortex-M1
From: |
Dittrich, Matthew |
Subject: |
Re: [lwip-devel] LWIP on Cortex-M1 |
Date: |
Thu, 23 Feb 2012 12:43:41 -0600 |
For comparison sake, here are the numbers for uIP (with the TCP stuff hacked
out, UDP only, I use this for TFTP support in boot loaders), same compiler,
same M3, same -O0:
text data bss dec hex filename
3444 15504 0 18948 4a04 ./bin/src/emac.o
1564 0 0 1564 61c ./bin/src/ether.o
3680 12 16 3708 e7c ./bin/uip/uip.o
1580 0 104 1684 694 ./bin/uip/uip_arp.o
120 0 0 120 78 ./bin/uip/uip_timer.o
16 0 0 16 10 ./bin/uip/arch/clock-arch.o
256 0 0 256 100 ./bin/uip/arch/tapdev.o
Totaling 10660 bytes of text, again with "drivers" included. It totals 5630
bytes when using -Os.
MD
-----Original Message-----
From: address@hidden [mailto:address@hidden On Behalf Of Dittrich, Matthew
Sent: Thursday, February 23, 2012 12:27 PM
To: lwip-devel
Subject: Re: [lwip-devel] LWIP on Cortex-M1
Here are some numbers from GCC 4.5.2 with no optimizations for my M3 against
some "post 1.4.0 git" build:
text data bss dec hex filename
4096 15704 0 19800 4d58 ./bin/src/emac.o
1628 80 0 1708 6ac ./bin/src/ethernet.o
992 0 0 992 3e0 ./bin/lwip/arch/ethernetif.o
16 0 0 16 10 ./bin/lwip/arch/sys_arch.o
3492 0 164 3656 e48 ./bin/lwip/netif/etharp.o
1532 0 0 1532 5fc ./bin/lwip/core/ipv4/autoip.o
1012 0 0 1012 3f4 ./bin/lwip/core/ipv4/icmp.o
1188 0 0 1188 4a4 ./bin/lwip/core/ipv4/inet_chksum.o
0 0 0 0 0 ./bin/lwip/core/ipv4/inet.o
1264 0 16 1280 500 ./bin/lwip/core/ipv4/ip_addr.o
2668 0 8 2676 a74 ./bin/lwip/core/ipv4/ip_frag.o
2044 0 2 2046 7fe ./bin/lwip/core/ipv4/ip.o
144 0 0 144 90 ./bin/lwip/core/def.o
7124 4 0 7128 1bd8 ./bin/lwip/core/dhcp.o
0 0 0 0 0 ./bin/lwip/core/dns.o
32 0 0 32 20 ./bin/lwip/core/init.o
1668 7188 12 8868 22a4 ./bin/lwip/core/mem.o
788 7128 40 7956 1f14 ./bin/lwip/core/memp.o
1100 0 1 1101 44d ./bin/lwip/core/netif.o
3836 0 0 3836 efc ./bin/lwip/core/pbuf.o
0 0 0 0 0 ./bin/lwip/core/raw.o
528 0 0 528 210 ./bin/lwip/core/stats.o
0 0 0 0 0 ./bin/lwip/core/sys.o
8676 0 48 8724 2214 ./bin/lwip/core/tcp_in.o
5416 0 0 5416 1528 ./bin/lwip/core/tcp_out.o
5348 24 1 5373 14fd ./bin/lwip/core/tcp.o
1004 0 12 1016 3f8 ./bin/lwip/core/timers.o
2224 0 0 2224 8b0 ./bin/lwip/core/udp.o
716 0 0 716 2cc ./bin/lwip/netbios/netbios.o
1060 0 48 1108 454 ./bin/lwip/netbios/nbns.o
0 0 0 0 0 ./bin/lwip/netio/netio.o
2356 0 12 2368 940 ./bin/lwip/core/ipv4/igmp.o
Which totals 61952 bytes of text (which includes my drivers, but no other
library code that gets pulled in). When optimizing for size (-Os), the total
is 31480. My project doesn't build when I switch it to M1, so I can't help with
those numbers... but I'd consider this is a pretty "full featured" RAW API
configuration. If you don't need good TCP, uIP might be more appropriate?
MD
_______________________________________________
lwip-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-devel