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