I suspect that the hardest parts of getting roscpp to run on a bare-metal system will be dealing with boost, differences in how embedded vs Linux handle network sockets, and endianness problems that affect the serialization process. For a number of the embedded devices that I've seen with Ethernet, the device communicates over UDP or TCP to a ROS node on a Linux host; this includes the custom ethernet-attached cameras that we use on the PR2. -Austin On 09/12/2012 02:39 PM, Dave Curtis wrote: > Thanks Tully, > > If you have a pointer to some information on that project I'd like to look at it. > > In the spirit of simply taking a shoe horn to roscpp, I spent a little bit of time looking at the roscpp source, it wasn't clear just from grep'ing the #include's if there are a lot of kernel dependencies. OTOH, I can certainly imagine a lot of dynamic memory allocation going on, which can be painful on a system without virtual memory and only a limited amount of SRAM to start with. > > -dave > > On Sep 12, 2012, at 2:22 PM, Tully Foote wrote: > >> Hi Dave, >> >> To answer your question directly I have seen a proof of concept with roscpp running on a bare metal arm chip. I don't know exactly what went into making that work. >> >> Morgan, >> >> Thanks for taking the initiative to setup the SIG. I've created a wiki page for the SIG at http://www.ros.org/wiki/SIG/Embedded >> >> Tully >> >> On Wed, Sep 12, 2012 at 1:56 PM, blackstag wrote: >> Hah ok will tell Paul to spell right. Is Ros serial using sockets for small embedded linux processors. It was implemented on the Vex Pro and Chumby in our testing. >> >> >> On Wed, Sep 12, 2012 at 2:58 PM, Dave Curtis wrote: >> OK, so I see the rosserial_embeddedlinux package supports TCP, I didn't see that before. But it does say "imbedded Linux", which is still considerably different from an MMU-less uCtlr. So, is rosserial_embeddedlinux more light weight than its name would imply? >> >> -dave >> >> On Sep 12, 2012, at 11:43 AM, blackstag wrote: >> >>> Ros serial does have a TCP option now for wifi or ethernet. >>> >>> On Wed, Sep 12, 2012 at 1:14 PM, Dave Curtis wrote: >>> I've been searching the archives for info on this topic but everything I turn up is pretty ancient. >>> >>> Suppose you have an embedded device that has an ethernet controller and enough oomph to run a TCP stack and an RTOS, for instance an ARM Cortex-M3. Is it possible to run roscpp on the bare metal, or does roscpp depend on a lot of Linux system services? Of course, rosserial would be an option, but if you have an ethernet controller on chip, that seems limiting. Or is there another light-weight ROS comms on TCP that I don't know about? >>> >>> -dave >>> >>> _______________________________________________ >>> ros-users mailing list >>> ros-users@code.ros.org >>> https://code.ros.org/mailman/listinfo/ros-users >>> >>> _______________________________________________ >>> ros-users mailing list >>> ros-users@code.ros.org >>> https://code.ros.org/mailman/listinfo/ros-users >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> >> >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> >> >> >> >> -- >> Tully Foote >> tfoote@willowgarage.com >> (650) 475-2827 >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users