[ros-users] A cross-compiling repository

Daniel Stonier d.stonier at gmail.com
Wed Aug 4 14:11:50 UTC 2010


Greetings all,

This is targeted at anyone who is either working with a fully cross-compiled
ros or simply using it as a convenient build environment to do embedded
programming with toolchains.

It seems that we're now having a few groups actively working at various
stages cross-compiling with the RoS and rather than going it solo all the
time, it would be good if we could pool resources. As I've mentioned before
on the mailing list, I've been working at building an environment for
cross-compiling that automates and simplifies the process and have tested it
on the guinea pigs (err lads) at work who have little and often no
experience with cross compiling. They seem to be taking to it well, so I'd
like to go a step further and see if we can help the RoS scale down as well
as its been scaling up.

What I'd like to propose as *goals* for the project.


   - Simplify the cross compiling environment for the ros with tools,
   packages, documentation and contact points.
   - Be responsible for testing, maintaining and providing patches upstream
   to ros that enable embedded ros'.
   - Be a collective group that is willing to work together/share problems
   common to cross-compiling and more particularly cross-compiling in general.
   - Provide guides/tools that enable building of simple root filesystems
   running the ros.
   - Provide guides/tools for development on common targets (including
   emulations).
   - Endeavour to keep a watch (and provide fixes) on ros/ros stacks so that
   as much as possible correctly cross compiles.


What I envisage us needing at least to get kick started:

   -  An official *ros package repository* with tools and build scripts
   dedicated to cross-compiling accompanied by good documentation for the ros
   websites


   - A library of cmake modules representing different toolchains*
      - A library of cmake modules representing different platforms*
      - Python scripts of many sorts...*
      - Packages which provide cmake build scripts for ros dependencies,
      e.g. boost, apr, apr-log*
      - Cross compiling test packages such as msg_latency, rpc_latency*
      - Maintains patches for the ros which automatically apply on selection
      of a toolchain (until the patches get merged upstream)*
      - Tools for building simple embedded ros root filesystems (or
      instructions).
   - A *dev area *(e.g. redmine with issue tracker, wiki and forum) where
   cross compiling issues can be tracked and discussed.
   - An *irc room* for live interaction.


Some of these tools* we're already using at Yujin and are bundled in the ecl
(link below). However I think its both simpler and better if I unbundle them
and commit them to a project with a single focus. To give some idea of their
usage currently in the ecl and at Yujin:

   - Partial cross guide :
   http://snorriheim.dnsdojo.com/redmine/wiki/ecl/Partial_cross_compile
   - Full cross guide :
   http://snorriheim.dnsdojo.com/redmine/wiki/ecl/Full_cross_compile
   - Build tools :
   http://snorriheim.dnsdojo.com/redmine/wiki/ecl/Ecl_ros_python_tools
   - CMake toolchains/platforms :
   http://snorriheim.dnsdojo.com/redmine/embedded/ecl/ecl_build/html/index.html
   - Ros deps : http://snorriheim.dnsdojo.com/redmine/wiki/ecl/Ecl_cross
   - Embedded opencv (no gui and utilises rosconfig.cmake) :
   http://snorriheim.dnsdojo.com/redmine/embedded/ecl/ecl_opencv/html/index.html


To kick start I'm thinking of opening a google code project to simplify and
transfer the ecl build components and a redmine project at snorriheim for a
dev area. My schedule is a bit tight until september when I'll have about
two weeks free time to really work on it, but I'd like to canvas here first
for some opinions or advice and see if there are other interested parties
that would like to participate or also provide some input.

Any thoughts/suggestions?

Regards,
Dr Daniel Stonier,
Yujin Robot.

PS I'm not sure I'd call myself an embedded expert yet - still very much
learning and thanks to Yujin, doing it very fast and very hands on (aka
dancing in the frying pan!). However as a group, I think we can do better
than we're currently managing in the cross compiling arena and I also think
the ros has alot of potential for assisting in embedded development as
systems get more and more complex.

-- 
Phone : +82-10-5400-3296 (010-5400-3296)
Home: http://snorriheim.dnsdojo.com/
Yujin Robot: http://www.yujinrobot.com/
Embedded Control Libraries: http://snorriheim.dnsdojo.com/redmine/wiki/ecl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20100804/b33f16bf/attachment-0002.html>


More information about the ros-users mailing list