IP Library Granted Patent US 8,484,453
Granted Patent B2
US 8,484,453 · App. 12/787,262 · Granted Jul 9, 2013

Data processing system having an operating system adapter and method

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,484,453
App. No.
12/787,262
Granted
Jul 9, 2013
Kind
B2
Abstract

A data processing system includes a central processing unit (CPU) and a memory coupled to the CPU. The memory includes an operating system (OS) adapter component, which comprises information specific to a particular operating system; an OS-independent processor component, which, when executed by the CPU, generates initialization code for a target processor using information from the OS adapter component, wherein the initialization code is specific to the particular operating system; and an OS-independent peripheral component, which, when executed by the CPU, generates driver code using information from the OS adapter component, wherein the driver code is specific to the particular operating system and the target processor.

Claims (45)

1. A data processing system, comprising:

a central processing unit (CPU); and

a memory coupled to the central processing unit, wherein the memory comprises;

an operating system (OS) adapter component, which comprises information specific to a particular operating system;

an OS-independent processor component, which, when executed by the CPU, generates initialization code for a target processor using information from the OS adapter component, wherein the initialization code is specific to the particular operating system; and

an OS-independent peripheral component, which, when executed by the CPU, generates driver code using information from the OS adapter component, wherein the driver code is specific to the particular operating system and the target processor.

2. The data processing system of claim 1 , wherein the initialization code is specific to the particular operating system and the target processor.

3. The data processing system of claim 1 , wherein the memory further comprises:

a second OS-independent peripheral component, which, when executed by the CPU, generates second driver code using the information from the OS adapter component, wherein the second driver code is specific to the particular operating system and the target processor.

4. The data processing system of claim 1 , wherein the initialization code that is specific to the particular operating system includes functions of the particular operating system.

5. The data processing system of claim 1 , wherein the OS-independent peripheral component, when executed by the CPU, generates both peripheral initialization code and installation code using information from the OS adapter component, wherein each of the peripheral initialization code and the installation code is specific to the particular operating system and the target processor.

6. The data processing system of claim 1 , wherein the information specific to the particular operating system in the OS adapter includes a device table structure specific to the particular operating system.

7. The data processing system of claim 1 , wherein the information specific to the particular operating system in the OS adapter includes memory management information specific to the particular operating system.

8. The data processing system of claim 1 , wherein the information specific to the particular operating system in the OS adapter includes at least one of an interrupt service routine model, a device driver model, and driver entry points.

9. In a data processing system comprising an operating system (OS) adapter component which is specific to a particular operating system, an OS-independent processor component, and an OS-independent peripheral component, a method comprising:

generating OS-specific initialization code for a target processor by the OS-independent processor component, wherein during the generating the OS-specific initialization code, the OS-independent processor component queries the OS adapter for information specific to the particular operating system; and

generating OS-specific driver code for the target processor by the OS-independent peripheral component, wherein during the generating the OS-specific driver code, the OS-independent peripheral component queries the OS adapter for information specific to the particular operating system, and wherein the OS-specific driver code is also specific to the target processor.

10. The method of claim 9 , further comprising:

requesting generation of the OS-specific driver code by the OS-independent processor component, wherein the generating the OS-specific driver code for the target processor by the OS-independent peripheral component is performed in response to the requesting the generation of the OS-specific driver code.

11. The method of claim 9 , further comprising:

compiling the generated OS-specific initialization code and the OS-specific driver code to create compiled code for the target processor.

12. The method of claim 11 , further comprising:

storing the compiled code on the target processor.

13. The method of claim 9 , wherein the generating the OS-specific initialization code comprises:

requesting, by the OS-independent processor component, an interrupt service routine model from the OS adapter component; and

providing, from the OS adapter component to the OS-independent processor component, the interrupt service routine model, wherein the interrupt service routine model is specific to the particular operating system.

14. The method of claim 9 , wherein the generating the OS-specific driver code comprises:

requesting, by the OS-independent peripheral component, information from the OS adapter component; and

providing, from the OS adapter component to the OS-independent peripheral component, the information, wherein the information is specific to the particular operating system.

15. The method of claim 14 , wherein the information comprises memory management information.

16. The method of claim 14 , wherein the information comprises a device table structure.

17. The method of claim 9 , wherein the data processing system further comprises a second OS-independent peripheral component, and the method further comprises:

generating second OS-specific driver code for the target processor by the second OS-independent peripheral component, wherein during the generating the second OS-specific driver code, the second OS-independent peripheral component queries the OS adapter for information specific to the particular operating system, and wherein the second OS-specific driver code is also specific to the target processor.

18. A data processing system, comprising:

a central processing unit (CPU); and

a memory coupled to the central processing unit, wherein the memory comprises;

an operating system (OS) adapter component specific to a particular operating system;

an OS-independent processor component, which, when executed by the CPU:

provides a request to the OS adapter component for an interrupt service routine type, wherein, in response thereto, the OS adapter component provides the interrupt service routine type specific to the particular operating system to the OS-independent processor component; and

uses the received interrupt service routine type from the OS adapter component to generate initialization code for a target processor that is specific to the particular operating system; and

an OS-independent peripheral component, which, when executed by the CPU:

provides one or more requests to the OS adapter component for information specific to the particular operating system, wherein, in response to each of the one or more requests, the OS adapter component provides the information to the OS-independent peripheral component; and

uses the received information from the OS adapter component to generate driver code specific to the particular operating system and the target processor.

19. The data processing system of claim 18 , wherein the received information from the OS adapter component comprises memory management information and a device table structure.

20. The data processing system of claim 18 , wherein the initialization code and the driver code that are specific to the particular operating system include functions of the particular operating system.

Assignments (22)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0241. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 5, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041260/0850 →
MERGER Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 040652/0241 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0387 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0334 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0285 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded Jan 31, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027621/0928 →
SECURITY AGREEMENT Recorded Jan 31, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027622/0075 →
SECURITY AGREEMENT Recorded Jan 31, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027622/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2010
From: EKAMBARAM, NATARAJAN; CERNOCH, JAROSLAV; HEMSTREET, GREGORY A.; VINKLER, MAREK
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 024496/0723 →