Yahoo Groups archive

Lpc2000

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

Message

Re: [lpc2000] Low power multithreaded OS suggestion?

2005-10-06 by Bill Knight

Guille
  Reply to me off-line and I might be able to pass along some 
Helpful information.

Regards
-Bill Knight
R O SoftWare &
http://www.theARMPatch.com

On Thu, 06 Oct 2005 12:37:46 -0000, guillermoprandi wrote:

>Hi! I am building a board featuring the LPC2138 µC. This board will 
>basically need to interface with three serial devices (two via 
>internal UARTs and a third via MAX3100, though suggestions are 
>welcomed about this). This device must be very low power; it should 
>wake up only when needed, which is: 1) there's data available from 
>any of the three ports, 2) there's data waiting to be transmitted on 
>any of the ports and the port becomes free and 3) a periodical 
>overall check (every second or so). This means that theoretically the 
>processor can enter the idle state quite often. I'm looking for some 
>(free if possible) multithreaded OS that would handle the transition 
>to the processor's idle state on traditionally blocking calls like 
>fread() and fwrite(), expecting to wake up on interrupt; also, some 
>preemptive multitasking should be supported, in case some thread 
>enters an exceptionally long calculating task. Probably there's no 
>known OS that directly supports this; in this case, I'd like to know 
>which other OS might be a good starting point to accomplish this by 
>making the modifications myself. I'm aiming to use the GNU libraries 
>(I ignore how difficult or messy would it be to modify them to 
>support this). Finally, it is my understanding that the VERY low 
>power "power down" mode would not be useful for my application, since 
>the peripherals (therefore the UARTs and SPI) are shut down in this 
>mode. Any advise or hint on these subjects will be greately 
>appreciated.

>Guille





> 
>Yahoo! Groups Links



>

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.