Claims
- 1. A mobile electronic device, comprising:
- at least one coprocessor having dynamic functionality;
- a host processor system including a cross compiler for converting code into unlinked executable target processor code and a cross linker for converting the unlinked target processor code into linked executable target processor code, said host processor executing:
- said cross compiler receiving source code and compiling said source code into a native code routine for a target coprocessor selected from said at least one coprocessor; and
- said cross linker resolving addresses in said native code routine and downloading said native code routine to said target coprocessor; and
- circuitry for communicating said downloaded native routine between said host processor system and said target coprocessor for controlling the functionality of said target coprocessor.
- 2. The mobile electronic device of claim 1 wherein said at least one coprocessor has an associated memory for storing tasks.
- 3. The mobile electronic device of claim 2 wherein said host processor determines an available location within said memory associated with said target coprocessor for storing said native code routine.
- 4. The mobile electronic device of claim 3 wherein said host processor compiles said code into unlinked native code for said target coprocessor.
- 5. The mobile electronic device of claim 4 wherein said cross linker resolves addresses in said native code routine responsive to said available location.
- 6. The mobile electronic device of claim 1 wherein said source code comprises processor independent source code.
- 7. The mobile electronic device of claim 1 wherein said target coprocessor is selected based on available resources and capabilities of said target coprocessor.
- 8. The mobile electronic device of claim 1 wherein said at least one coprocessor includes a digital signal processor.
- 9. The mobile electronic device of claim 1 wherein said source code comprises JAVA source code.
- 10. The mobile electronic device of claim 1 wherein said source code comprise ActiveX source code.
- 11. A method of controlling a mobile electronic device, comprising the steps of:
- providing a target coprocessor having dynamic functionality;
- on a host processor system having a cross compiler for converting code into unlinked executable target processor code and a cross linker for converting the unlinked target processor code into linked executable target processor code;
- executing a cross compiler to receive source code and compile said source code into a native code routine for a target coprocessor; and
- executing a cross linker to resolve addresses in said native code routine and download said native code routine to said target coprocessor;
- executing said native code routine on said target coprocessor; and
- communicating said downloaded native routine between said host processor system and said target coprocessor for controlling the functionality of said target coprocessor.
- 12. The method of claim 11 and further comprising the step of determining an available location within a memory associated with said target coprocessor to store said native code routine.
- 13. The method of claim 12 wherein said step of executing a cross compiler comprises the step of compiling said source code into unlinked native code.
- 14. The method of claim 13 wherein said step of executing a cross linker comprises the step of resolving addresses in said unlinked native code responsive to said available location.
- 15. The method of claim 11 wherein said step of executing a cross compiler comprises the step of receiving processor independent source code.
- 16. The method of claim 11 and further comprising the step of selecting one of a plurality of coprocessors as the target coprocessor.
- 17. The method of claim 16 wherein said selecting step comprises the step of selecting a target processor based on the capabilities and available resources of said target coprocessor.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to U.S. Ser. No. 08/995,606, entitled "Mobile Information Services Platform" (Atty Docket No. 26421) to McMahon et al, U.S. Ser. No. 08/995,597, entitled Method and Apparatus for Providing Downloadable Functionality to an Embedded Coprocessor" (Atty Docket No. 26440) to Brewer and U.S. Ser. No. 08/995,603, entitled Method and Apparatus for Extending Security Model to Native Code" (Atty Docket No. 26439) to Brewer, all filed on even date herewith and incorporated by reference herein.
US Referenced Citations (7)