which tools? C? C++? Java?

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 freescale

5200 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?

Reply to
noone
Loading thread data ...

That's going to depend, a lot, on the field of "embedded" endeavour. At a guess, pure "control" applications are going to be mostly pure C. Things with GUIs will currently be mostly C++ with some C and some Java. If you include phones, then you'll skew things stongly in the direction of C++ and Java (hard to tell which actually carries more weight, but I'd guess C++ for now.)

Mostly user-space, I'd guess. Dunno about JVM's on PPC platform. Kaffe?

[I opine because I'm interested in the answers, myself. I know of projects that use all of those three, for different reasons.]

Cheers,

--
Andrew
Reply to
Andrew Reilly

You would be surprised to see the amount of assembly code used in phones. Granted, it's mainly due to strange DSP architectures, but nonetheless, when you try to reduce cost, it may pay back to write very efficient assembly code to select a less powerful chip, so less expensive.

Laurent

Reply to
Laurent Desnogues

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.