Re: Embedded sable?
"Grzegorz B. Prokopski" <[email protected]> Sat, 11 Jun 2005 13:03:31 -0400
| Newsgroups | gmane.comp.java.vm.sablevm.devel |
|---|---|
| Organization | Debian http://www.debian.org - The Free Operating System |
| Message-ID | <[email protected]> |
Hello William, On Sat, 2005-11-06 at 20:46 +1000, William Uther wrote: > Hi, > I'm want a java VM for the Sony AIBO robot. I don't know of any, > so I was thinking of compiling an open source VM. The AIBO has a > Sony proprietary OS. There is a cross-compiling system based on GCC. > > There are the rudiments of a posix library, but it is nowhere near > complete. I am assuming that almost none of the standard java > classes will work. That's fine - that API isn't really relevant for > video camera images or robot joints :). Also, processes are not > standard unix-style processes. Nor is there a standard threading model. It probably depends on how "non-standard" these processes and threading model are. For SableVM you should look into system.c (and possibly into system.h, if the CPU it uses is not there yet) files. Also, if you need to use some other functions than standard ptherads have, look into thread.h and thread.c. These files should pretty much cover what you might need to modify in SableVM. In SableVM Classpath OTOH (which is a derivative of GNU Classpath) you should look into native/target/ and possibly add a directory there for your system, similarly as it's done for Linux ATM. You then redefine for your OS only those functions where the generic ones (taken from 'generic' directory) wouldn't work. > What I can do is embed a C or C++ library into a shell process in > the Sony OS. Is there any way to run SableVM in such a way? I have > libffi and zlib compiled for the system. I don't understand what is a shell process. If you mean using C library (SableVM does not use C++) as a convenience library and compiling it statically into SableVM, it should be doable, see the next paragraph. In our current development (still unreleased) version we have libffi and libpopt included as convenience libraries. If you think this might ease your task install a subversion client and do: svn co svn://svn.sablevm.org/sablevm/trunk sablevm svn co svn://svn.sablevm.org/sablevm-classpath/trunk sablevm-classpath (then autogen.sh in each dir, followed by standard configure, ASO) If you find it convenient, you'll be able to do the same with pretty much any library against which SableVM links (safe from the ones opened with lt_dlopen, like these produced by sablevm-classpath). I would normally point you to our daily dist tar archives, but the autobuilder was down since some weeks and I only noticed it yesterday. If everything goes fine the current tar archives of trunk should start appearing (in about 3 hours from now, when the testbuild is done) at: http://sablevm.org/download/snapshot/ > I've started playing with the standard sable build system, but > there are some issues. e.g. The cross compiling system can compile > libraries, but can't compile "normal apps". That means the configure > system needs some mods at least... I don't know what a "normal app" would be in this context. 99% of SableVM is actually a shared library - libsablevm.so. We don't support static compilation ATM, if that's what you had in mind. HTH, Grzegorz B. Prokopski -- Grzegorz B. Prokopski <[email protected]> SableVM - Free, LGPL'ed Java VM http://sablevm.org Why SableVM ?!? http://sablevm.org/wiki/Features Debian GNU/Linux - the Free OS http://www.debian.org