[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: uClinux



> I'm working on a design, and am stuck on processor choice.

Aren't we all?  I happen to have the PXA255 docs on the screen at the
moment, wondering whether I can justify the cost just to see if I can
solder it in a toaster oven.  Maybe I'll buy a "reflow practice kit".

> But what about the uClinux vs. linux tradeoff?
> 
> I guess my biggest question is how well do multiple programs run
> simultaneously?  I know that there's no memory protection, so
> there's always a risk of crashing another program - or the kernel
> for that matter.  How real, or maybe better to ask what are the odds
> of this happening?  Also am interested in running java, possibly.
> Not sure how well all this stuff plays together.

I think you've got it in a nutshell.  For uClinux, programs always
load at different locations - even each time they run.  So, either the
programs must be position independent (performance penalty) or the
runtime loader must fix them up according to where they're loaded
(load penalty, no code sharing, more RAM needed).

The memory protection issue is real, but if you are careful I don't
think it's any worse than debugging a large application.  Usually, you
just won't have as many programs running at a time on uClinux which
mitigates the risk.

I'd hope uClinux avoids the usual rogue pointer locations - null page,
falling off stack, etc - to at least make it so that memory corruption
at least corrupts your own memory and not one of the other programs.

OTOH shared memory is a LOT easier in uClinux ;-)