Subject: Can BSD be made to do a hard realtime tasks?
To: None <port-arm@netbsd.org>
From: Warren Postma <warren.postma@sympatico.ca>
List: port-arm
Date: 09/28/2002 01:11:57
I am evaluating a lot of RTOS options for a 200 Mhz StrongARM embedded
single board custom system.

I'd like to use BSD, as it's elegant, and I could build a multi-threaded
multi-process system with full MMU Support
(memory protection).

I have evaluated eCOS but it comes without MMU support, and they're still
working on porting the beautiful BSD TCP/IP code to eCOS.

The hitch is my real-time requirement. Not all threads, or even most
threads, have realtime consequences, but I have one tricky feature.

I need a kernel-space interrupt service routine, and the ability to have the
ISR activate a thread/process that is non-interruptable until it completes
its work.  Also, the high-priority thread/process must be activated less
than 8 uSec from when the IRQ comes in.

I would like to have both user-space and kernel threads as well as be able
to run a few "non-realtime" processes as separate Executables, and the Real
Time component would be kernel-space (an interrupte service routine, and a
kernel-space thread). So far, I haven't found anything to indicate that
people have done anything like this before on NetBSD on StrongARM.

Can anyone tell me if they've managed to build a realtime system in embedded
NetBSD on a fast StrongARM core?

Warren Postma