Sign in

username:

password:



Not a member?

Search Comp.Arch.Embedded



Search tips

embedded by Keywords

68HC11 | 68HC12 | 8051 | 8052 | ARM | ARM7 | Asic | AT91 | AT91RM9200 | Atmel | AVR | AVRStudio | Bootloader | CFP | CompactFlash | Cygnal | Cypress | Dataflash | DSP | eCos | EEPROM | Embedded Linux | Emulator | Endian | Ethernet | Firewire | FPGA | Freescale | GCC | GNUARM | GSM | H8 | HDLC | I2C | Infineon | Interrupts | Java | JTAG | LCD | LED | LPC2000 | MCU | Microchip | MMC | MPLAB | MSP430 | PC104 | PCB | PCI | PCMCIA | PowerPC | Rabbit | RS232 | RS485 | RTOS | SBC | SDRAM | Sensor | SPI | STK500 | UART | UML | USART | USB | Verilog | VHDL | VxWorks | Xilinx

Sponsor

controlSUITE™ software
Comprehensive.
Intuitive.
Optimized.

Real-world software for real-time control. Details Here!

Ads

Discussion Groups

See Also

DSPFPGAElectronics

Discussion Groups | Comp.Arch.Embedded | Running 2 RTOS in a single device/application

There are 5 messages in this thread.

You are currently looking at messages 0 to 5.

Running 2 RTOS in a single device/application - ssubbarayan - 2005-06-17 00:50:00

Dear all,
   I am currently working in on a consumer electronics device.We are in
the process of debugging few bugs in the software which does the work
of displaying menus and controlling the hardware of the device.I
happened to go through the architecture of the software.What makes me
wonder is there are 2 RTOS used in this device.One rtos is ucos and
another is OS20 a proprietoty RTOS to run on the processor.
I am not able to get how can 2 RTOS run in a device or processor?
When I queried my clients reply that One RTOS runs as a task of another
RTOS.
I would like to understand how does the scheduling happen between these
2 RTOS?Also running one RTOS as another task means there are 2 kernels
and 2 schedulers.This is some what puzzling me.

Have any one seen something like this?How exactly this usage of 2 RTOS
works?Whats the way of linking one RTOS to another?How does the kernel
switching between 2 RTOS take place?

Also I have heard of something called VMWARE which does this job
generally.

It would be helpful if someone could give me some suggestions or point
me to useful links on this.If this is not the right place can you
please direct me to a proper group to discuss this?

Looking farward for all your replys,
Regards,
s.subbarayan




Re: Running 2 RTOS in a single device/application - Martin Raabe - 2005-06-17 01:59:00

Hello ssubbarayan,
  ssubbarayan schrieb:
> I would like to understand how does the scheduling happen between these
> 2 RTOS?Also running one RTOS as another task means there are 2 kernels
> and 2 schedulers.This is some what puzzling me.

Ususally the answer to this question is also called: IP or Intellectual 
Property.
You are right, VMWare does it for non embedded computing, also Microsoft 
does it with Virtual PC.

For the embedded world I know of two products
PikeOS: http://www.pikeos.com?L=1
VxWin/CeWin:  http://www.kuka-controls.com/product/index.html

Those products have their own strategy to implement 2 or more RTOS on 
the same device/processor or one non-RTOS on top of one RTOS .

Hope it helps.

-- 
BaSystem Martin Raabe
E: Martin.Raabe<at>B-a-S-y-s-t-e-m<dot>de

Re: Running 2 RTOS in a single device/application - Kelly Hall - 2005-06-17 02:54:00

Martin Raabe wrote:
> For the embedded world I know of two products
> PikeOS: http://www.pikeos.com?L=1
> VxWin/CeWin:  http://www.kuka-controls.com/product/index.html

Real Time Linux: there's a RTOS for time critical tasks, and the idle 
task of the RTOS runs Linux - kernel and user processes just like a 
normal Linux box.  There are special FIFOs for passing data between 
Linux and the RTOS.  Works fine when I used it way back in '99.

Kelly

Re: Running 2 RTOS in a single device/application - Rich Walker - 2005-06-17 09:55:00

Kelly Hall <k...@acm.org> writes:

> Martin Raabe wrote:
>> For the embedded world I know of two products
>> PikeOS: http://www.pikeos.com?L=1
>> VxWin/CeWin:  http://www.kuka-controls.com/product/index.html
>
> Real Time Linux: there's a RTOS for time critical tasks, and the idle
> task of the RTOS runs Linux - kernel and user processes just like a
> normal Linux box.  There are special FIFOs for passing data between
> Linux and the RTOS.  Works fine when I used it way back in '99.

These days you might want RTAI: www.rtai.org

It uses ADEOS to provide separate execution domains, allows you to code
fairly-hard-real-time stuff in *user space*, interfaces with all sorts
of other software, and has a really active developer/user community.

(Yes, I use it. No, I wouldn't use the other one).

cheers, Rich.

-- 
rich walker         |  Shadow Robot Company | r...@shadow.org.uk
technical director     251 Liverpool Road   |
need a Hand?           London  N1 1LX       | +UK 20 7700 2487
www.shadow.org.uk/products/newhand.shtml

Re: Running 2 RTOS in a single device/application - Bob Monsen - 2005-06-17 22:50:00

ssubbarayan wrote:
> Dear all,
>    I am currently working in on a consumer electronics device.We are in
> the process of debugging few bugs in the software which does the work
> of displaying menus and controlling the hardware of the device.I
> happened to go through the architecture of the software.What makes me
> wonder is there are 2 RTOS used in this device.One rtos is ucos and
> another is OS20 a proprietoty RTOS to run on the processor.
> I am not able to get how can 2 RTOS run in a device or processor?
> When I queried my clients reply that One RTOS runs as a task of another
> RTOS.
> I would like to understand how does the scheduling happen between these
> 2 RTOS?Also running one RTOS as another task means there are 2 kernels
> and 2 schedulers.This is some what puzzling me.
> 
> Have any one seen something like this?How exactly this usage of 2 RTOS
> works?Whats the way of linking one RTOS to another?How does the kernel
> switching between 2 RTOS take place?
> 
> Also I have heard of something called VMWARE which does this job
> generally.
> 
> It would be helpful if someone could give me some suggestions or point
> me to useful links on this.If this is not the right place can you
> please direct me to a proper group to discuss this?
> 

An RTOS creates a virtual machine to run programs on. It controls access 
to things like interrupt vectors, devices, and such, presenting an API 
to the user code.

Also, RTOS code generally have some kind of hardware abstraction layer 
internally, so it can be ported to many different systems, and keep 
things that are going to be common, like schedulers, timers, and memory 
allocation machine independent.

If one writes a hardware abstraction layer for RTOS1 that uses the 
facilities in RTOS2, neither need know about the other. From the POV of 
RTOS1, it is running on a funny, slow architecture. From the POV of 
RTOS2, it has a user program, and handles the hardware itself.

The problem comes in when both RTOS want to mess with the same hardware.

-- 
Regards,
  Bob Monsen

If a little knowledge is dangerous, where is the man who has
so much as to be out of danger?
                                  Thomas Henry Huxley, 1877