Aaron,

LeJos/Java is equivalent to vxWorks in terms of your picture of things.
It is the OS. A JVM instance is equivalent to a vxWorks shell at runtime.
A BSP is the hardware-specific code part of the OS code.

I am very familiar with vxWorks.
You are thinking of BSP correctly.
vxWorks is the OS, and it runs on many platforms
because the OS code is separated into two major pieces:
code that is hardware-specific, and code that is not hardware-specific.
In many systems, only about 20% of the code, if that, is
hardware-specific. The hardware-specific stuff is the BSP (hence the name
"Board Support Package").
That would include any hardware-specific drivers, the bootloader, and so on.
It is very common to have a bootloader written in assembly (like 
the init.s file for leJos) because it is much easier and more
efficient to set the state of various registers directly in 
assembly than in a high-level language (even C).
Whenever WindRiver has a customer with a new type of hardware,
somebody writes a BSP for it, and they incorporate it into the WindRiver
framework, mostly with MACRO definitions and compiler and linker switches.

BTW, I like vxWorks, but it's pricey (at least it was a few years ago),
and it's really an enterprise embedded system, but overkill for 
many projects.  I say that because not all embedded systems require
an OS--usually, you need an OS if you want timers, multi-tasking,
and interrupt driven tasks (which leJos does want).

You could divide the leJos code into two parts:
the hardware-specific (BSP) code and the not-hardware specific
code--but it's only worth doing if you want to make a business
out of porting leJos to lots of platforms, if you see what I mean.
So most people (including developers) don't think of it that way,
even though there is a clean separation in the leJos code.

Hope this helps.

George Rudolph
The Citadel
Charleston, SC


-----Original Message-----
From: [EMAIL PROTECTED] on behalf of Aaron R>
Sent: Fri 8/31/2007 4:43 PM
To: [email protected]
Subject: Re: [Lejos-discussion] Picture or Block Diagram of design
 
I mentioned the term BSP earlier, but I might not be using the right term.
 In my very limited experience, I've worked with an embedded team who made a
board support package (BSP).  They explained that the BSP was done to bring
the board up from power on and do low level configuration of comm ports and
such.  It then transferred control over to the vxWorks OS.  Once that was
running, a user could ftp files onto the board and then execute them using
the vxWorks shell.
My original question is aimed at getting a good understanding of which code
is doing what in lejos.  To me lejos is the BSP, OS, and the JVM.

Cheers,
Aaron R>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Lejos-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lejos-discussion

Reply via email to