Hello,
> At Class 2, the extra 10K of breathing room means you can buffer several > frames along with having larger tables. This approach is taken in my own > IPv6 stack, (http://sourceforge.net/apps/trac/flexibleipfip/). The extra > code space gives you a lot more room for higher-level protocols, and > generally lets you do stuff that wastes a bit of code/SRAM but makes the > stack easier to work with. Thank you for pointing out your Flexible IP project. However, we can see a 6LoWPAN folder in it [0]. However, 6LoWPAN is not the way to go, we need plain IPv6 [1] : " 6LoWPAN is really useful, but this presents limitations for global communications (RFC6282)" > Right around 100 packets it's arguable how hard/easy things are, based on > multiple connections, windowing, ND, etc. "Smews is now available on the Mbed platform using ethernet. It is able to serve static content at about 80Mbp/s on this configuration." [2] (mbed = Cortex-M3 with 64K SRAM/512K Flash) [3] On Wed, Jan 25, 2012 at 5:42 PM, Michael Richardson <[email protected]> wrote: > >>>>>> "Joe" == Joe Touch <[email protected]> writes: > Joe> On 1/24/2012 2:45 PM, Michael Richardson wrote: > >> So, I think that these numbers are off. > >> > >> | Class 1 | ~ 10 KiB | ~ 100 KiB | | Class 2 | ~ 50 KiB | ~ 250 > >> KiB | > >> > >> In MSP430F54xx family of devices that I've spent most of the last > >> year working with, the smallest MSP430F5418 has 16KiB ram, 128K > >> flash, while the largest MSP430F5438 has 16KiB ram, and 256KiB > >> flash. > > Joe> Arduinos have 32KB flash and 2KB RAM, and support WIFI and IPv4 > Joe> (including DHCP, DNS, UDP, TCP, and a small web server). > > Yes, for me, these are class 1, while all MSP is perhaps a class 2 > device. I agree that the critical point is not so much flash size, as > ram size, and 10K is the wrong threshold. a) Arduino Arduino (ATmega328) doesn't support Wifi.You can add Wifi capability, that is completely different, through a Wifi shield and these ones are mainly based around an ARM9 baseband (ARM946E-S core) [4]. Indeed, the Wifi shield is an order of magnitude more powerful than the Arduino itself [5] : "You can use your wireless device as a powerful ARM developement board, with a 946E core clocked at 30MHz" By the way, the newer Arduinos will be based around Cortex-M3 cores [6] : "Arduino Due, a major breakthrough for Arduino because we’re launching an Arduino board with a 32bit Cortex-M3 ARM processor on it. We’re using the SAM3U processor from ATMEL running at 96MHz with 256Kb of Flash, 50Kb of Sram, 5 SPI buses, 2 I2C interfaces, 5 UARTS, 16 Analog Inputs at 12Bit resolution and much more.." b) MSP What about the MSP430FR57xx Family (1K SRAM/16K Flash) [7] ? Anyway, we should clearly forget the MSP430 Family [8] : "MSP430 : Public key and IPv6 may strain limits." Best Regards, [0] http://flexibleipfip.git.sourceforge.net/git/gitweb.cgi?p=flexibleipfip/flexibleipfip;a=tree;f=source/sixlowpan [1] http://www.iot-forum.eu/events/launch-event/presentations/wg-technology/slides%20IoT%20Forum%20upload%20Web_Jara.pdf [2] http://smews.gforge.inria.fr/ [3] http://mbed.org [4] http://wiki.laptop.org/go/Marvell_microkernel [5] http://lekernel.net/prism54/freemac.html [6] http://arduino.cc/blog/2011/09/17/arduino-launches-new-products-in-maker-faire/ [7] http://focus.ti.com/paramsearch/docs/parametricsearch.tsp?familyId=1751§ionId=95&tabId=2475&family=mcu&DCMP=FRAM&HQ [8] http://www.dash7.org/OpenTag%20Webinar.pdf -- Guillaume FORTAINE On Tue, Jan 24, 2012 at 8:54 PM, Joe Touch <[email protected]> wrote: > Hi, Colin, > > > On 1/24/2012 10:13 AM, Colin O'Flynn wrote: >> >> Hello, >> >> There is a difference between Class 1 and Class 2, and not that much >> difference below Class 1. >> >> Before I elaborate, let me explain where I'm getting my arguments from: >> I've >> been involved in about four different main IPv6 stacks for low-power >> devices, each stack on a different architecture. >> >> Around Class 1, you can do "real" IPv6. But you need to be careful: you've >> got enough SRAM to buffer a few IPv6 frames, such as when you are doing >> ND. >> But you won't get that much more, and you'll have to keep your neighbor >> table small. For example such are the constraints Contiki's uipv6 is >> originally built for (it can go a lot smaller even too). >> >> At Class 2, the extra 10K of breathing room means you can buffer several >> frames along with having larger tables. This approach is taken in my own >> IPv6 stack, (http://sourceforge.net/apps/trac/flexibleipfip/). The extra >> code space gives you a lot more room for higher-level protocols, and >> generally lets you do stuff that wastes a bit of code/SRAM but makes the >> stack easier to work with. > > > I understand, but AFAICT an extra 10K isn't the issue. IMO, it would be more > useful to describe this in terms of numbers of packets and/or headers. > > i.e. under 10 packets things get difficult. Substantially above that and > there's much more breathing room. That makes sense. > > At that point, however, the class boundaries, IMO, would be (in terms of RAM > at least): > > <<100 packets difficult > >>100 packets easy > > Right around 100 packets it's arguable how hard/easy things are, based on > multiple connections, windowing, ND, etc. > > Joe _______________________________________________ Lwip mailing list [email protected] https://www.ietf.org/mailman/listinfo/lwip
