Wireless device operating system (OS) application programmer's interface (API)
First Claim
1. A method for exporting a software model to different operating systems, the method comprising:
- providing a software model;
providing a porting layer, the porting layer porting the software model to an operating environment;
providing an operating environment, the operating environment common to all the different operating systems; and
providing a plurality of operating system abstraction layers, each abstraction layer designed to abstract the operating environment to at least one targeted operating system.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to various aspects for modeling software, preferably for use in wireless communication devices. One aspect relates to targeting a software model to a plurality of different operating systems/operating system combinations. Another aspect relates to porting the software model to an operating environment common to all operating systems. Another aspect relates to abstracting the operating environment to an operating system/operating system combination. Another aspect relates to handling inter-processor communication. Another aspect relates to a common time manager. Another aspect relates to porting code developed using a single thread modeling tool to a multiple threaded environment. Another aspect relates to synchronizing groups of threads.
84 Citations
47 Claims
-
1. A method for exporting a software model to different operating systems, the method comprising:
-
providing a software model;
providing a porting layer, the porting layer porting the software model to an operating environment;
providing an operating environment, the operating environment common to all the different operating systems; and
providing a plurality of operating system abstraction layers, each abstraction layer designed to abstract the operating environment to at least one targeted operating system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A wireless communication device comprising:
-
at least one system processor and at least one communication processor;
a communication module to facilitate communication between each system and communication processor;
a shared memory associated with the communication module;
each system processor and communication processor having an associated operating system, the operating system performing code generated from a software model, the software model being ported to an operating environment providing an operating environment, the operating environment common to all the different operating systems, an operating system abstraction layer abstracts the operating environment to each associated operating system. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for porting software developed using a single threaded modeling tool to a multiple threaded environment, the method comprising:
-
using the single threaded modeling tool to model the software; and
providing a porting layer, the porting layer performing as follows;
porting in variables into a multiple threaded operating environment by reference and not as variables so that each thread can access variables by reference. - View Dependent Claims (16, 17, 18)
-
-
19. A wireless communication device comprising:
-
at least one system processor and at least one communication processor;
a communication module to facilitate communication between each system and communication processor;
a shared memory associated with the communication module;
each system processor and communication processor having an associated operating system, the operating system performing code generated from a software model, the software model developed using a single threaded modeling tool, a porting layer ports code generated by the single threaded modeling tool to a multiple threaded environment, the porting layer porting in variables into the multiple threaded operating environment by reference and not as variables so that each thread can access variables by reference. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A method for synchronizing a plurality or threads in a software environment, each thread being an independent path of execution, the method comprising:
-
for a plurality of threads in a thread group requiring synchronization, initiating each of the plurality of threads;
awaiting an initiation return from all the threads in the thread group indicating that the initiating of that thread is complete; and
starting execution of all the threads in the thread group after the awaiting. - View Dependent Claims (25, 26)
-
-
27. A wireless communication device comprising:
-
at least one system processor and at least one communication processor;
a communication module to facilitate communication between each system and communication processor;
a shared memory associated with the communication module;
each system processor and communication processor having an associated operating system, software operating on the operating system synchronizes a plurality of threads within a thread group in a software environment, each thread being an independent path of execution, for the plurality of threads in the thread group requiring synchronization, each of the plurality of threads is initiated;
an initiation return is awaited from all the threads in the thread group indicating that the initiating of that thread is complete; and
execution of all the threads in the thread group is started after the awaiting. - View Dependent Claims (28, 29, 30)
-
-
31. An operating system abstraction layer comprising:
-
an interface with an operating environment, the operating environment operating independent of underlying operating systems;
an operating system independent module for performing operations that are not related to a target operating system;
an operating system dependent module for performing operations that are related to the target operating system; and
an interface with the target operating system.
-
-
32. A method for abstracting an operating environment to a plurality of operating systems, the method comprising:
-
providing an operating environment, the operating environment common to all the different operating systems; and
providing a plurality of operating system abstraction layers, each abstraction layer designed to abstract the operating environment to at least one targeted operating system. - View Dependent Claims (33)
-
-
34. A wireless communication device comprising:
-
at least one system processor and at least one communication processor;
a communication module to facilitate communication between each system and communication processor;
a shared memory associated with the communication module;
each system processor and communication processor having an associated operating system, the operating system performing code from an operating system abstraction layer, the abstraction layer interfacing with the operating environment and having an operating system independent module for performing operations that are not related to a target operating system and an operating system dependent module for performing operations that are related to the target operating system. - View Dependent Claims (35)
-
-
36. A method for controlling software timing in a multiple operating system environment, the method comprising:
-
providing a time manager;
operating system constructs in each of a plurality of operating systems sending callbacks to the time manger;
after a time period specified by each call back, the time manager sending a callback message to the construct of that callback; and
the construct operating in response to the received message. - View Dependent Claims (37, 38, 39)
-
-
40. A time manager for controlling software timing in a multiple operating system environment, the time manager comprising:
-
an input configured to receive callbacks sent from operating system constructs in each of a plurality of operating systems;
a timer for after a time period specified by each call back, producing a thread to indicate expiration of the callback to the construct of that callback. - View Dependent Claims (41)
-
-
42. A wireless communication device comprising:
-
at least one system processor and at least one communication processor;
a communication module to facilitate communication between each system and communication processor;
a shared memory associated with the communication module;
each system processor and communication processor having an associated operating system; and
a time manager for controlling software timing in each operating system, the time manager comprising;
an input configured to receive callbacks sent from operating system constructs in each of the plurality of operating systems;
a timer for after a time period specified by each call back, producing a thread to indicate expiration of the callback to the construct of that callback. - View Dependent Claims (43, 44)
-
-
45. A method for software processes to communicate across processor boundaries, the method comprising:
-
providing a local process associated with a local processor and a remote process associated with a remote processor;
providing a local queue for the local process;
providing or creating a remote queue for the remote process;
the local process having a put request in the local queue indicating a message to be sent to the remote process; and
putting the message in the remote queue.
-
-
46. A wireless communication device comprising:
-
at least one system processor and at least one communication processor;
a communication module to facilitate communication between each system and communication processor;
a shared memory associated with the communication module;
each system processor and communication processor having an associated operating system;
a local process is associated with a local processor of the system and communication processors and a remote process associated with a remote processor of the system and communication processors;
a local queue is associated with the local process; and
a remote queue is associated with the remote process; and
wherein the local process having a put request in the local queue indicating a message to be sent to the remote process; and
putting the message in the remote queue. - View Dependent Claims (47)
-
Specification