Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Re: system and user modes

2006-04-19 by Robert Adsett

At 04:29 AM 4/19/2006 +0000, jayasooriah wrote:
>--- In lpc2000@yahoogroups.com, Robert Adsett <subscriptions@...> >
>Nonsense.  If the user application hangs up the fact that the user
>code is
> > in user mode but the kernal in system mode won't make recovery
>easier or
> > harder.
>
>[example deleted]
>
>If this were true, the notion of privilege or levels of privilage in
>operating systems would meaningless.

In those systems the privilege levels are supported by HW which restricts 
access.  Sometimes as 'simple' as a MMU but often with restrictions on I/O 
access as well.  Sometimes with restrictions on the way pointers to memory 
can be passed between privilege levels.

W/O this hardware support, which is not present  on the ARM 
microcontrollers we are talking about, there is indeed no protection 
offered.  Indeed there were Unix variants for the PC before the protection 
features of the '286 and they did suffer from this flaw.  User programs 
could bring the system down so that a hard reset was required (system 
programs sometimes caused similar problems but since most of them had been 
tested on systems with MMU that would core dump in such an event most such 
bugs had been stamped out) uCLinux will have the same issue.

That doesn't mean that in an environment with multiple applications on the 
same processor there isn't any benefit in having a common 'shared' library 
or kernal.  That just isn't the case we've been talking about,  at least I 
haven't, but rather the more typical microcontroller case of a single 
application on a microprocessor.

>[I tend to work towards clients requirements and not redefine them.
>When they say they want to do this, I just show them how to.]

I work towards customer requirements as well but I do warn them when they 
suggest something that's physically impossible.  And without hardware 
support you cannot prevent an application bug from bringing down a 
microcontroller.

There is one exception to this HW requirement and that is when all of the 
programs access and I/O is mediated by SW by running in an 
interpreter.  Essentially in that case the necessary HW is simulated.


With good design, appropriate tools and reviews you can avoid getting the 
bug there in the first place but user/system mode on a LPC2000 isn't going 
to get you any closer than a well designed library.

Robert


" 'Freedom' has no meaning of itself.  There are always restrictions,   be 
they legal, genetic, or physical.  If you don't believe me, try to chew a 
radio signal. "  -- Kelvin Throop, III
http://www.aeolusdevelopment.com/

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.