Establishing a pointer at a valid address location that is representative of a valid entry point of a communication routine
First Claim
1. A method of operating an embedded system comprising a digital signal processor and associated memory, said embedded system having an application program for running on said digital signal processor and a link external to said embedded system, said link being capable of connection to a host computer, said memory comprising a pointer location for storing pointer information representative of the location of the entry point of a computer file comprising a communication subroutine, the method comprising:
- running said application program, whereby said application program identifies a need for communication over the link;
establishing the contents of said pointer location to determine whether said pointer location contents represent a valid address in said memory;
if said contents of said pointer location are established as representing a valid address in said memory, calling said valid address;
determining whether code at said valid address indicates a said entry point, thereby determining whether a said computer file is present;
if said computer file is present, running said subroutine to thereby communicate.
1 Assignment
0 Petitions
Accused Products
Abstract
An application program runs on an embedded processor connected via a link to a host. When the application program identifies a need for communication over said link, it reads a pointer location to see whether its contents represent a valid address in memory, and if so the program calls that address. It then checks the code at the address to see whether an entry point is stored there, and if so uses that entry point to access a subroutine enabling communication over the link.
23 Citations
20 Claims
-
1. A method of operating an embedded system comprising a digital signal processor and associated memory, said embedded system having an application program for running on said digital signal processor and a link external to said embedded system, said link being capable of connection to a host computer, said memory comprising a pointer location for storing pointer information representative of the location of the entry point of a computer file comprising a communication subroutine, the method comprising:
-
running said application program, whereby said application program identifies a need for communication over the link;
establishing the contents of said pointer location to determine whether said pointer location contents represent a valid address in said memory;
if said contents of said pointer location are established as representing a valid address in said memory, calling said valid address;
determining whether code at said valid address indicates a said entry point, thereby determining whether a said computer file is present;
if said computer file is present, running said subroutine to thereby communicate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
wherein said establishing step further comprises, if said pointer location does not represent a said valid address, establishing whether said location stores said predetermined value; - and
if so, providing a error code indicating that said host is not connected.
-
-
5. The method of claim 1, further comprising:
-
writing a first value or second to a register of said digital signal processor;
wherein said running step comprises;
determining the contents of said register and if said contents of said register correspond to said first value, writing to said pointer location, a predetermined value when said host is not connected to said link, and wherein said establishing step further comprises, if said pointer location does not represent a said valid address, establishing whether said location stores said predetermined value; and
if so, providing an error code indicating that said host is not connected.
-
-
6. The method of claim 5 wherein if said contents of said register correspond to said second value, said pointer location is left unchanged, for evaluation by said establishing step.
-
7. The method of claim 6 further comprising:
-
causing said digital signal processor to execute a reset sequence to thereby start executing code at an address determined by said embedded system, and writing said first value to said register.
-
-
8. The method as claimed in claim 6, further comprising:
-
connecting a host to said link; and
starting said embedded system from said host, wherein said starting step comprises writing said second value to said register.
-
-
9. The method of claim 8, wherein said embedded system comprises a further application program capable of being started by said application program, the method comprising:
-
running said application program whereby said second application is started; and
sensing that said contents of said second register correspond to said second value.
-
-
10. A method of data communication between a host computer and a target computer system, wherein said target computer system has a memory comprising plural addressable locations and is adapted to run an application, the method comprising:
-
providing a file, comprising a subroutine enabling said communication between said computers;
dynamically loading said file from said host computer to said memory of said target computer system, whereby said file has an entry point at a dynamically-determined addressable location;
storing at a predetermined one of said addressable locations data representative of the address of said entry point;
running said application, whereby said application determines said data representative of said address thereby accessing said subroutine; and
running said subroutine whereby said communication occurs.
-
-
11. An embedded system comprising a digital signal processor and associated memory, said embedded system having an application program for running on said digital signal processor, the application program needing to communicate over a link external to said embedded system, said link being capable of connection to a host computer, said memory comprising a pointer location storing pointer information representative of the location of the entry point of a computer file comprising a communication subroutine, the embedded system comprising:
-
processor circuitry for running said application program, whereby said application program identifies the need for said communication;
establishing circuitry for establishing the contents of said pointer location to determine whether said pointer location contents represent a valid address in said memory;
calling circuitry for calling said valid address;
determining circuitry for determining whether code at said valid address indicates a said entry point, whereby said processor circuitry runs said subroutine. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
wherein said establishing circuitry is operable to establish whether said location stores said predetermined value, if said pointer location does not represent a said valid address; - and
wherein said error circuitry is operable to provide an error code indicating that said host is not connected, if said pointer location does not represent a said valid address.
-
-
15. The system of claim 14 wherein said processor circuitry is operable to leave the contents of said pointer location unchanged if said contents of said register correspond to said second value.
-
16. The system of claim 15 further comprising:
-
reset logic for causing said digital signal processor to execute a reset sequence whereby said digital signal processor starts executing code at an address determined by said embedded system, and whereby said processor circuitry controls said write circuitry to write said first value to said register.
-
-
17. The system of claim 15 in combination with a host computer connected to said link;
- wherein said host computer has start circuitry for starting said embedded system from said host, wherein said start circuitry controls said writing circuitry to write said second value to said register.
-
18. The system of claim 11 further comprising:
-
writing circuitry for selectively writing a first value or second to a register of said digital signal processor;
wherein said processor circuitry is operable to;
determine the contents of said register and if said contents of said register correspond to said first value, cause said writing circuitry to write to said pointer location a predetermined value; and
wherein said establishing circuitry is operable to establish whether said location stores said predetermined value; and
wherein said error circuitry is operable to provide an error code indicating that said host is not connected, if said pointer location stores said predetermined value.
-
-
19. A device for debugging an embedded computer system, said embedded system having a memory comprising plural addressable locations, said computer system being adapted to run an application,
the device comprising a host computer connected to said embedded computer system, said host computer comprising a computer file including a subroutine enabling said data communication between said embedded computer system and said host computer; -
said host computer comprising a linker-loader connected to said link and operative to send said file and dynamically load said file to said memory of said embedded computer system whereby said file has an entry point at one of said addressable locations, said linker-loader comprising means for storing at a predetermined one of said addressable locations data representative of the address of said entry point;
said embedded computer system comprising processor means running said application whereby said application determines said data representative of said address, thereby accessing said file whereby said communication occurs. - View Dependent Claims (20)
-
Specification