Re: Which OS should I chose?
- From: Tim Wescott <tim@xxxxxxxxxxxxxxxx>
- Date: Mon, 25 Feb 2008 10:51:34 -0800
huxuelei630@xxxxxxxxx wrote:
Hi, I have a big problem, please give me some help.
I have a PCI card which read 16KB data from FIFO to the memory when an
interrupt came out.And the interrupt is very fast, almost 16ms a time.
I have written a driver based on windows for the card, but lost too
many datas.
I want to change a embedded system, which OS should I chose? Please
help me .thanks.
How big is the FIFO? Windows will stream video at several tens of megabytes/second with rare dropouts if you use it correctly. It _will_, however, go to sleep on you for extended periods of time, usually during screen redraws and/or disk accesses. With a deep enough data buffer you can significantly reduce the probability of this happening, although you can never eliminate it with Windows (or Linux, for that matter). With tightly controlled access to the OS (i.e. if you freeze everything except for your app) you may be able to get by, at least until someone pushes a button or you try to write to disk.
If you absolutely positively must respond to every single interrupt in some finite amount of time then you need a real-time operating system (RTOS). Which one is right for you depends heavily on what you're trying to do and the environment in which it needs to work.
If you just need to capture the data, do something with it, then move on, and you don't have any user look-and-feel requirements then just about any RTOS (or no RTOS at all, and a task loop running under DOS) will work for you.
If you need to put the data to disk, then you need a fancy RTOS that can do a disk write without interfering with other interrupt driven stuff. For this you'll have to shop around.
If you want all the features of Windows or a windowed Linux system then you're restricted to Windows with RTOS extensions, Linux with RTOS extensions (like RTAI), or one of the 'big' RTOSs like VxWorks. All of these will be big, require lots of knowledge to set up to avoid interfering with the real-time nature of your application, and will cost you either money or time to get working.
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" gives you just what it says.
See details at http://www.wescottdesign.com/actfes/actfes.html
.
- References:
- Which OS should I chose?
- From: huxuelei630@xxxxxxxxx
- Which OS should I chose?
- Prev by Date: Re: regarding ISR
- Next by Date: Re: ARM9 Choice
- Previous by thread: Re: Which OS should I chose?
- Next by thread: Re: Which OS should I chose?
- Index(es):