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&sectionId=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

Reply via email to