Basically there is no point why you shouldn’t be able to do on an ARM what we’re doing on an XMOS. There are just two things to mention:

 

-       You need to see whether the device you’re using is powerful enough to run the OS, HTTP stuff and still have some performance left for the actual application. Should be the case for Cortex M3-class of devices with a little higher clock rate, of course depending on what the application is. An XMOS processor has 8 HW threads per core, each running at 125 Mhz, so on our currently available core board we have processing capacity that equals about 32 Cortex M3s running at 100 Mhz.

-       Big parts of rosxmos right now are coded in XC, which is a CSP implementation (reason why is the multithreading architecture mentioned above). But XC is basically a flavor of C and you can program a single thread of an XMOS also in C and C++. So it should be no tremendous effort porting rosxmos to any other C-compiling environment by rewriting it for a single thread situation to C only.

 

On the other side the question is what happened to http://ros.org/wiki/eros, in particular http://www.ros.org/wiki/roscpplight when we talk about OS-based ARM implementations of ROS. Daniel and Morten of Yujin were working on that, so you should go over to them and have a chat, Marcus… ;-) Surprisingly I can’t remember anyone at ROSCon talking about eros/roscpplight when the Dynamic Firmware idea was pitched by Morgan, incl. Daniel…? As far as I know did our guys take a closer look to roscpplight before they got into rosxmos, but there were still some dependencies to get rid of or something like that.

 

Cheers,
Nik  

 

Von: ros-users-bounces@code.ros.org [mailto:ros-users-bounces@code.ros.org] Im Auftrag von Marcus Liebhardt
Gesendet: Mittwoch, 13. Juni 2012 03:56
An: User discussions
Betreff: Re: [ros-users] is a native ROS device possible?

 

@ Synapticon: Do you think that the implementation/idea of rosxmos will be easily adaptable/expandable to be used on other platforms such as ARM and Atmel (Arduino)? Maybe we could develop some core components together and one writes the platform-specific parts as needed.