Contiki is a lightweight open source operating system designed for the ‘Internet of Things’: Networked, low-power embedded devices. It’s been used for smart grids, smart streetlights, badger tracking systems and connecting a Gameboy to the Internet. Computerworld Australia recently caught up with its creator, Adam Dunkels, to talk about the system’s history and future plans, as well as a new company he’s founded, Thingsqure, which hopes to make creating applications for the Internet of Things as easy as creating apps for smartphones.
…is that it has sucked in uIP, which the author no longer offers as a standalone package. uIP still works and is pretty easy to make go, but if you want to use it you have to either pry it out of Contiki or find an old project lying around that includes sources (there are a few amongst the FreeRTOS demos, for example).
When they integrated uIP into Contiki, they didn’t do it on uIP’s terms. It would have been easy to follow the uIP rules to configure it for Contiki, but they instead made some changes to the uIP sources.
Which means that if you want to pry uIP from Contiki, you first have to know enough about uIP to understand which bits you need and what the changes they made for Contiki are doing.
uIP is still viable as a standalone package. It is both much smaller and much easier to get going than lwIP, its successor. It’s a shame that the author has become so enamored of Contiki that he can no longer be troubled to simply keep an old standalone version of uIP lying around on his web page.
Edited 2012-10-07 07:59 UTC
Also if you want the IPv6 part you have to pry that out as well. A friend of mine did that previously because he wanted to use it for some project of his and he still keeps it around.
http://www.shapeshifter.se/code/uipv6/
whilst your gripes are completely valid. If anyone felt like maintaining uIP separately, they would.
As the author is invested in Contiki, he obviously wants to reduce his burden maintenance by keeping the two separate.