Jave on Embedded Linux

I have an embedded system and want to set J2SE or J2ME on Embedded Linux. I heard a few ways to install JDK but I cound not understand becase, didn't have fully information. I consider about kaffe and blackdown package, I could not build that, however.

My embedded system's hardware specification

Processor : Intel PXA255 400MHz SDRAM : Samsung 64 MB Flash : Intel strata flash 32 MB Ethernet : CS8900A 10BaseT Display : LG TFT LCD 6.4" (640X480) Touch : ADS7843(Touch Screen) Etc. : USB, 2 Serials, 1 JTAG, PCMCIA(Buffalo WLAN Card), CF(Sandisk CF

512MB), MMC, IR, 8 Key Pads, RTC.

and Linux version is 2.4.18

If you have similar experience or related documents about Java on Embedded Linux, please advice me. (if you have documents or information, please send me.) I really want to build java on embedded Linux.

Please help me.

Best Regards.

Y.K. Moon

Reply to
motionanalyst
Loading thread data ...

Is that 32 MB flash all that you have for persistent storage? A full J2SE version of the JRE on Linux will run you more than that when decompressed, even with all the optional pieces removed. You would need to look for a J2ME virtual machine.

formatting link
is a non- commercial J2ME implementation for Linux/x86. The page claims tht Sun sells a commercially distributable version as well.

--
www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.

Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
Reply to
Chris Smith

I am much indebted for your attention and was full of gratitude.

I have more quistions. I have more storage that is file system (ext2) using Compact Flash(512MB, Sandisk). Could I build the J2SE on my embedded system? If you have information about installation of J2SE on an embedded system, please send me.

Thank you, and best regards

Y.K. Moon

Reply to
motionanalyst

hi,

I installed kaffe 1.1.6 on a embedded platform, based on MIPS: it works with AWT, not SWING. I started using the standard diistribution, with some month of works :-)

You can try compiling it for your target, see the errors, and ask in the kaffe mailing list: it gives a good support

bye giammy

-- Gianluca Moro

formatting link
ISCRIVITI alla Mailing List Italiana su LINUX EMBEDDED snipped-for-privacy@yahoo.com Visit
formatting link

Reply to
giangiammy

If you have any kind of graphical output (browser and/or Java console), you need to include a mininum X installation. 512M would be tight, 1G would be better. However, with any kind of GUI, 64M RAM is not enough. We had a Java servlet apps that starts up with 100M without anything else running.

Of course you can, but you have to spend lots of time striping it down to fit your system.

Reply to
linnix

This is simply not true. Taken literally, we had GUIs even before 1985 when Windows 1.0 came out, and 64MB of RAM was a hell of a lot of RAM back in those days. But even if you restrict yourself to "modern GUIs", there are still plenty of lightweight ones out there. In fact, there are GUIs specifically designed for embedded Linux. See, for example the MatchBox project:

formatting link
with full unicode support and theme switching, and yet can run on systems with only

40MB of RAM, and the binaries themselves take up a measly 50Kb. That's kilobytes, not megabytes.

If you're running on devices even more constrained than that, there's MicroWindows:

formatting link
which can run in 64Kb of RAM. Again, note that that's Kilobytes, not Megabytes.

You can find a list of GUIs for embedded Linux at

formatting link

I didn't see the original post, so I don't know what the OP is planning to do, but if it's something that involves Java 2 SE, the OP may wish to reconsider. I'm not sure Java is the best choice for memory-constrained devices; at least not J2SE.

- Oliver

Reply to
Oliver Wong

This page mentioned quarter VGA resolution. The OP asked for touch screen VGA.

Without meanful GUI.

The OP asked for J2SE. Perhaps you should read the post before answering.

Reply to
linnix

Yes, the page *mentions* quarter VGA resolution. It also has screenshots for the Nokia 770 which is of a higher resolution, and the Sony U71 Tablet PC with runs at 800x600, which exceeds VGA. In other words, MatchBox is not "locked" at quarter VGA, which you seemed to be implying by your post.

I assume you mean "meaningful". What's your definition of meaningful? The site there specifically says it provides an API that is compatible with X Windows and Win32. Here's a short paragraph from the page I linked above:

Microwindows is essentially a layered design that allows different layers to be used or rewritten to suite the needs of the implementation. At the lowest level, screen, mouse/touchpad and keyboard drivers provide access to the actual display and other user-input hardware. At the mid level, a portable graphics engine is implemented, providing support for line draws, area fills, polygons, clipping and color models. At the upper level, various API's are implemented providing access to the graphics applications programmer.

According to

formatting link
the latest release now supports handwriting recognition, graphics keyboard, and a new window manager. What more do you need before the GUI becomes "meaningful"?

As I mentioned, I did not see the original post. For whatever reasons, my newsgroup decided to discard it. As I also mentioned, I don't think J2SE is the right choice for whatever the OP wants to do, given the limited information I've seen in the form of quotes in your post.

Additionally, I think you are not in a good position to accuse me of not reading the original post when it seems to me that you dismissed the solutions I provided without actually reading the URLs I linked to.

- Oliver

Reply to
Oliver Wong

128M flash and no Java

No talks of Java at all.

Yes, you are right.

...

We are not asking for window APIs. We are asking for Java, i.e. J2SE API.

I have not dissmissed solutions that meet the requirements. Please provide links to successful implementation of J2SE on 64M memory. I can provide a 128M J2SE system, but not on 64M. Sure, you can run it with 64M and 64M swap file on Flash, but don't forget to replace the flash every couple of months.

Reply to
linnix

The OP's post finally came through, and I see that (s)he wrote that she wants J2SE or J2ME, so actually, yes, you did dismiss solutions that met the requirement. But my main gripe was not whether or not you dismissed solutions that met the requirement, but rather that you dismissed solutions without actually reading about them, and then proceed to chatise me for not reading the original post after I had already said I wasn't able to see the original post.

Anyway, it doesn't matter to me. There's two directions that I can think of for this thread can go from here. One is that we get into an argument of who was right and who was wrong. The other is that we try to post information that the OP may find helpful. I'm going to try to steer the thread back towards the latter. We'll see what happens from there.

I couldn't find an implementation of J2SE, but I found one for PersonalJava. The Sharp Zaurus PDA has 64MB of RAM, and supports PersonalJava via the Jeode JVM. You can see pictures of it at

formatting link

In case (like me) you don't know much about PersonalJava, from Sun's website,

formatting link

In terms of target device capacity, PersonalJava sits between J2SE and the CLDC/MIDP stack of J2ME.

So it's not quite J2SE, but it's more than J2ME. PersonalJava might be another route the OP may wish to look at if (s)he finds (s)he cannot fit J2SE on the device in question.

There also happens to be a guide to Java on embedded Linux located at

formatting link
. The OP may be particularly interested in part 4, entitled "Java products of interest to Embedded Linux based system developers".

- Oliver

Reply to
Oliver Wong

Wouldn't you know it -- immediately after my post saying I can't find a successful implementation of J2SE on 64MB DRAM, I find one:

formatting link

- Oliver

Reply to
Oliver Wong

Servers.

You can pick and choose the context if you want. Let me repeat this: the requirements are for a VGA grade GUI (not handicapped 1/4 VGA) with real Java (not subset of Java) on 64M of code space (NOR flash or RAM).

Reply to
linnix

Servers.

You can pick and choose the context if you want. Let me repeat this: the requirements are for a VGA grade GUI (not handicapped 1/4 VGA) with real Java (not subset of Java) on 64M of code space (NOR flash or RAM).

Reply to
linnix

These are all server units (no real GUI), except for the parking locator. There is no indication of J2SE running on the parking locator either.

Reply to
linnix

Dude, you're getting free advice... You outlined what hardware you have to work with, and someone suggested that perhaps using technology other than Java might be a good approach to solving your problem. Your device presumably exists to do something like this:

Provide some functionality and a user interface to it on a device.

Your users most likely do not care how you do that, so if someone makes a reasonable suggestion that perhaps looking at the problem a different way is worth a few minutes, I wouldn't get too bent out of shape about it.

Same as if someone asks if they can find an e-commerce solution implemented in Forth - I'm going to say that perhaps they should go back and look at other solutions.

BTW, I'd at least consider Tcl and Tk for the GUI, myself:-)

Ciao,

--
David N. Welton
- http://www.dedasys.com/davidw/

Linux, Open Source Consulting
- http://www.dedasys.com/
Reply to
David N. Welton

Maybe the Slug guys can help you, I think they use the same processor and are open for other hardware I think:

formatting link

They have a page how to install Java on it. They are using Jamvm which is very small at the expense of some performance.

Hope this helps, kind regards,

Peter Kriens

Reply to
pkriens

Hi,

a graphical installation (X server - TinyX, also called Kdrive) needs 6M flash and 3RAM. kaffe 1.1.6 need 12M flash, 6M RAM with this anvironment you can run graphical applications written in java with AWT (in a machine with 32Mflash, 32MRAM)

bye giammy

-- Gianluca Moro

formatting link
ISCRIVITI alla Mailing List Italiana su LINUX EMBEDDED snipped-for-privacy@yahoo.com Visit
formatting link

Reply to
giangiammy

That's not the point. When a client pre-selected real (not handicapped subset) Java and VGA (not 1/4 VGA) screen, I would not shortchange him with 64M run-time code space.

When you go with a subset of the language and a restricted screen size, there are additional development costs and user adjustments. The client certainly care more about them than paying for additional memory.

Reply to
linnix

The OP wrote "I have an embedded system and want to set J2SE or J2ME on Embedded Linux." Here's a link to the original post in case you don't believe me:

formatting link

Initially you focused on the J2SE part, but now you seemed to have drop that in exchange for the term "handicapped subset". But we have already a J2ME and PersonalJava solutions. J2ME fits the requirement exactly, and PersonalJava gives MORE functionality than J2ME, not less.

Let me re-iterate this point: The OP asked for J2ME, and we gave him/her J2ME. Where is the "shortchanging" here?

Anyway, you seemed to have missed my point about trying to post things that would be HELPFUL to the OP.

Your If you have similar experience or related documents about Java on Embedded Linux, please advice me. (if you have documents or information, please send me.)

Recently your posts seemed to be of the nature "Don't post that kind of stuff. It doesn't answer the question the OP asked."

Now I don't know whether the OP considered the links people have sent in helpful or not, but I would imagine that the OP would be MORE "shortchanged" if we had this documents and links and kept them to ourselves, rather than share them with the OP, even if those documents are not step by step instructions on solving the OP's specific problem.

And anyway, Usenet is an open forum. People can post links to documents related to the subject (e.g. embedded Linux, even if it's non-Java). Maybe in a few weeks someone else will want to develop a Java on Embedded Linux system, do a search for past threads, find this thread, see the links, and find them useful.

Usenet is an open forum. That means you also have the right to continue posting messages of the nature "This isn't real Java" or "this isn't VGA", etc. I'm not saying I'm the boss of this Usenet group and you have to stop or anything like that. I'm just saying that if your intent is to help others on the group, maybe you should take a step back, and think about if your current strategy is the best way of accomplishing that.

- Oliver

Reply to
Oliver Wong

As far as I can tell, J2ME is a framework of environment, not an implementation. Yes, PersonalJava would be an implementation. PersonalJava must be developed on State of the Art platforms such as NT4.0 and Solaris 2.6. If I am not mistaken, NT4.0 is in extended life support cycle. Not too many people run Solaris 2.6 on their desktop either. Are these serious development platforms?

What happened to the write once, run everywhere theme? Or is it: write once, rewrite once and run somewhere? Would you please help me justify the development platform to potential clients?

Reply to
linnix

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.