Contiki on CircleOS

May 3, 2010

Release    contiki stm32primer    Reading time: 2 minutes

Now it is a time to mention the recent release of another port of Contiki OS (it is version 2.2.1, not the recent one).  This port is running on the STM32 Primer development kit. Because both current versions of this development kit run CircleOS, an embedded OS written by Raisonance, who also created the development kits, it was rather convinient to run Contiki on top of CircleOS. This port creates a serial-over-USB connection, as it was done in the VirtualCOM example. On top of this connection a SLIP connection is established, over which the device running can be accessed with usual TCP/IP tools. Currently this port runs on the STM32 Primer version 1 only!

While porting Contiki, a rather grave problem was encountered. It is the relatively small size of the USB data buffer of just 64 bytes. As Contiki scheduler runs only 10 times per second, the highest speed of connection is around 640 characters per second. Currently this problem results in very small IP packet sizes this port can process, for example a ping packet may carry only a few bytes of data.

A possible solution for this problem might lie in boosting the running frequency of the Contiki scheduler. Look at the function MENU_SetAppliDivider() in the CircleOS.

If this problem gets solved, it will be possible to run all applications Contiki provides over a VNC connection, because both versions of the STM32 Primer provide more than enough resources for doing so. Another extension of the current port would be getting it running on the version 2 of the STM32 Primer. This would make another extension possible: an implementation of Contiki File System interface using the filesystem functions CircleOS 3.x has. This, in turn, would enable working with files on a SD card (a feature of STM32 Primer version 2).

The port can be downloaded from the Raisonance project page.



comments powered by Disqus