Method and apparatus for emulating a hardware/software system using a computer
DCFirst Claim
Patent Images
1. A method comprising:
- providing a first operating system configured to operate in a first computer system;
providing first computer code configured to operate on top of said first operating system, said first operating system being configured to control physical input/output devices on the first computer system via first device drivers in the first computer code;
providing a second operating system, different from the first operating system, configured to operate in a second computer system, said second operating system being configured to control physical input/output devices on the second computer system via second device drivers;
providing an executable runtime component configured to take control of the physical input/output devices on the second computer system from the second operating system using the second device drivers that are normally controlled by the second operating system;
modifying said first computer code by replacing the first device drivers in said first computer code with substituted device drivers, the substituted device drivers being configured to call said executable runtime component at runtime;
executing said first operating system and said modified first computer code on top of said second operating system in said second computer system; and
using said executable runtime component to bypass said second operating system and to take control of the physical input/output devices on the second computer system using the second device drivers that are normally controlled by the second operating system when said modified first computer code executes said substituted device drivers.
4 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A platform for running embedded software using an inexpensive standard personal computer is disclosed. A particular embodiment includes a compiler assist component and a runtime component. The compiler assist component operates in conjunction with a standard personal computer compiler to compile an embedded system application to run on a conventional personal computer. The runtime component executes on the personal computer and operates in conjunction with the standard operating system drivers to allow an emulated system to communicate with real hardware connected to the personal computer or to virtual hardware that is simulated on the personal computer.
-
Citations
12 Claims
-
1. A method comprising:
-
providing a first operating system configured to operate in a first computer system; providing first computer code configured to operate on top of said first operating system, said first operating system being configured to control physical input/output devices on the first computer system via first device drivers in the first computer code; providing a second operating system, different from the first operating system, configured to operate in a second computer system, said second operating system being configured to control physical input/output devices on the second computer system via second device drivers; providing an executable runtime component configured to take control of the physical input/output devices on the second computer system from the second operating system using the second device drivers that are normally controlled by the second operating system; modifying said first computer code by replacing the first device drivers in said first computer code with substituted device drivers, the substituted device drivers being configured to call said executable runtime component at runtime; executing said first operating system and said modified first computer code on top of said second operating system in said second computer system; and using said executable runtime component to bypass said second operating system and to take control of the physical input/output devices on the second computer system using the second device drivers that are normally controlled by the second operating system when said modified first computer code executes said substituted device drivers. - View Dependent Claims (2, 3, 4)
-
-
5. An article of manufacture comprising at least one machine readable storage medium having one or more computer programs stored thereon and operable on one or more computing systems to:
-
provide a first operating system configured to operate in a first computer system; provide first computer code configured to operate on top of said first operating system, said first operating system being configured to control physical input/output devices on the first computer system via first device drivers in the first computer code; provide a second operating system, different from the first operating system, configured to operate in a second computer system, said second operating system being configured to control physical input/output devices on the second computer system via second device drivers; provide an executable runtime component configured to take control of the physical input/output devices on the second computer system from the second operating system using the second device drivers that are normally controlled by the second operating system; modify said first computer code by replacing the first device drivers in said first computer code with substituted device drivers, the substituted device drivers being configured to call said executable runtime component at runtime; execute said first operating system and said modified first computer code on top of said second operating system in said second computer system; and use said executable runtime component to bypass said second operating system and to take control of the physical input/output devices on the second computer system using the second device drivers that are normally controlled by the second operating system when said modified first computer code executes said substituted device drivers. - View Dependent Claims (6, 7, 8)
-
-
9. A computing apparatus comprising:
-
a first computer system; a second computer system; a first operating system, being executable on the first computer system; first computer code, being configured to operate on top of the first operating system, said first operating system being configured to control physical input/output devices on the first computer system via first device drivers in the first computer code; a second operating system, different from the first operating system, configured to operate in the second computer system, said second operating system being configured to control physical input/output devices on the second computer system via second device drivers; an executable runtime component, being configured to take control of the physical input/output devices on the second computer system from the second operating system using the second device drivers that are normally controlled by the second operating system; a code modification component, being configured to modify said first computer code by replacing the first device drivers in said first computer code with substituted device drivers, the substituted device drivers being configured to call said executable runtime component at runtime; and said executable runtime component being used to bypass said second operating system and to take control of the physical input/output devices on the second computer system using the second device drivers that are normally controlled by the second operating system when said modified first computer code executes said substituted device drivers. - View Dependent Claims (10, 11, 12)
-
Specification