I'm a computer engineer working in the field of robotics (autonomous vehicles) and inherited a hardware design from an engineer who moved on a few months ago. At this point I'm pretty well tied to the freescale5200 for the master controller in our mobility platform. That's really no problem since we have a working SBC and have had success using the DENX ELDK for PPC with the board.
My questions are more related to which languages embedded folks prefer? The master controller will have to handle some JAUS message routing and will unwrap JAUS messages and pass them on to devices using device native commands on RS485 and CANbus. I am equally well versed in C/C++ and JAVA but am wondering about the opinions, pros and cons, of writing the userspace tasks in any of the available languages. The tasks were originally specified to be written in ISO C++ but based on the multi-threading capabilities of JAVA, correctly modeling the tasks in JAVA would be so much easier, at least in a test environment. I also have other reasons, related to platform interoperability, for investigating JAVA.1) what percentage of embedded linux development is done in each language: JAVA, C, C++? 2) what percentage of embedded linux development is done as pure kernel module code and how much is done as userspace tasks? 3) Since I'm tied to the 5200 has anyone had good luck using embedded JAVA on the PPC platform? Who's JVM?
I looked at the GCC/JAVA/libJAVA tools but they seem so (alpha) and I cannot base a production product on something unproven. I've got plenty of SDRAM and flash available: 128MB and 16MB so code bloat isn't an issue...yet.
Suggestions? Thoughts? Opinions?