[zeromq-dev] ZeroMQ for Contiki OS

Axel Voitier axel.voitier at gmail.com
Wed Jan 20 11:47:48 CET 2016

Yes, I actually started from libzmtp. Few things remain from it now
(channels and msgs) as I had to adapt it to whatever Contiki provides.
Contiki does not have a posix socket interface. But the hardest was t adapt
to its threading model (protothreads) which were really constraining...

Also, I adapted the memory allocations to do use as much as possible
preallocation (called memb in Contiki). A few malloc remains here and
there, but much less than initially.

However, if I was to restart this project, I would not pick Contiki
anymore. But rather give it a try with RIOT, which seems to have something
that match a POSIX interface. And a much saner threading model that behaves
a bit like an event loop with a hub (and reusing features from the
underlying MCU to do context switching, like the SVC instruction with ARM).


Contact: axel.voitier at gmail.com
Secure: axel.voitier at protonmail.ch

2016-01-20 9:31 GMT+01:00 Benjamin Henrion <zoobab at gmail.com>:

> On Wed, Jan 20, 2016 at 4:01 AM, Axel Voitier <axel.voitier at gmail.com>
> wrote:
> > Hello,
> >
> > I have published an attempt at porting zeromq to Contiki OS:
> > https://github.com/Alidron/contiki-zeromq
> >
> > It has a few limitations still. However, I covered most basics of ZMTP
> and a
> > handful of sockets. It is not entirely compliant with the RFCs for the
> > moment though (some parts prove to be harder to do than I expected).
> >
> > I have been able to run it on a constrained setup: ARM Cortext M3
> running at
> > 32MHz, with 512KB of flash (the demo programs weight about 130KB) and
> 80KB
> > of RAM. And with a sub-1GHz RF link.
> >
> > The implementation makes use of Contiki network stack, which can use TCP,
> > IPv4, IPv6 and 6LoWPAN. I actually tested it over 6LoWPAN on the sub-GHz
> > link :).
> >
> > It is not has featured and fast as running zeromq between two usual
> > computers. But I hope this implementation prove it is feasible to have
> > ZeroMQ on such constrained hardware :).
> Have you tried to compile libzmtp?
> One of my short-term goal is to make libzmptp running on esp8266 and
> some cortex m3 board.
> --
> Benjamin Henrion <bhenrion at ffii.org>
> FFII Brussels - +32-484-566109 - +32-2-3500762
> "In July 2005, after several failed attempts to legalise software
> patents in Europe, the patent establishment changed its strategy.
> Instead of explicitly seeking to sanction the patentability of
> software, they are now seeking to create a central European patent
> court, which would establish and enforce patentability rules in their
> favor, without any possibility of correction by competing courts or
> democratically elected legislators."
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20160120/46403327/attachment.htm>

More information about the zeromq-dev mailing list