Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus interface architecture
Reexamination Certificate
2000-02-18
2003-12-30
Myers, Paul R. (Department: 2181)
Electrical computers and digital data processing systems: input/
Intrasystem connection
Bus interface architecture
C710S104000, C713S100000
Reexamination Certificate
active
06671765
ABSTRACT:
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not Applicable.
BACKGROUND OF THE INVENTION
The present embodiments relate to universal serial bus (“USB”) systems, and are more particularly directed to code overlay from a USB host to a peripheral.
USB is a recently-developed technology established by a joint effort of various companies. The joint-effort produced a USB Specification, Revision 1.1, Sep. 28, 1998, which is hereby incorporated herein by reference and which governs many aspects about USB systems. The USB Specification is directed to a goal of improving the user-friendliness of various aspects of computers and the peripheral devices typically used with such computers. Particularly, in a USB system, various devices connected in the prior art to a computer via either internal buses or often different external connectors are now coupled, using a USB cable, to a common USB bus. The USB bus is mastered by a USB host in a manner that requires little or no configuration by the user. Various benefits arise in USB, including the ability to add devices to, or remove devices from, a USB system while the system is operating. As another benefit, USB easily integrate various functions such as raw data, voice data, and video data. These benefits are also achieved without requiring add-on cards, and through a single protocol that supports serial data transfers between a USB host and USB-operable peripherals simply by coupling those peripherals to a common USB bus. Still further, the ability to quickly and easily connect and disconnect devices provides considerable flexibility and possible cost reduction in comparison to many contemporary systems.
While USB systems provide the various benefits set forth above, the present inventors have recognized a potential drawback in USB functions relating to device size, complexity, and cost as these factors are influenced by the program code demands of the function. Specifically, a function typically includes a processor device (e.g., a digital signal processor or “DSP”) for providing the capabilities of the function (e.g., communications for a modem). The processor device accesses either on-chip memory or external memory for purposes of obtaining and executing program code to implement the function's capabilities. Further in this regard, and according to the USB Specification, at start-up of the USB device the USB host may perform a one-time download of the entire set of executable program code to the function via a bulk-type endpoint in the function. However, typically more complex capabilities bring a corresponding increase in the amount of required program code and, hence, the start-up download of program code requires a corresponding increase in the size of the memory in the function to which the program code is downloaded (either on-chip or external). In view of these limitations, there arises a need to improve the efficiency of program code demands in a USB function, as is achieved by the preferred embodiments described below.
BRIEF SUMMARY OF THE INVENTION
In the preferred embodiment, there is a USB function device for coupling to a USB host. The USB function device comprises circuitry for providing a capability to the USB host, where the circuitry for the capability comprises an address space. The USB function device further comprises a USB interface circuit coupled between the USB host and the circuitry for providing a capability to the USB host. The USB interface circuit comprises a memory area comprising a code overlay endpoint accessible to the USB host for writing two or more code blocks to the code overlay endpoint. The USB interface circuit further comprises circuitry, for communicating a first of the code blocks from the code overlay endpoint to the address space and for subsequently communicating a second of the code blocks from the code overlay endpoint to the address space. The circuitry for communicating is operable to communicate a code block from the code overlay endpoint to the address space after a start-up time of the USB function device.
REFERENCES:
patent: 5148539 (1992-09-01), Enomoto et al.
patent: 6011486 (2000-01-01), Casey
patent: 6128673 (2000-10-01), Aronson et al.
patent: 6145045 (2000-11-01), Falik et al.
patent: 6157975 (2000-12-01), Brief et al.
patent: 6216183 (2001-04-01), Rawlins
patent: 6311294 (2001-10-01), Larky et al.
patent: 6421770 (2002-07-01), Huch et al.
Christison Gregory Lee
Karlsson Magnus G.
Brady III W. James
Myers Paul R.
Telecky , Jr. Frederick J.
Texas Instruments Incorporated
Williams Tammy L.
LandOfFree
Architecture enabling code overlay using a dedicated endpoint does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Architecture enabling code overlay using a dedicated endpoint, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Architecture enabling code overlay using a dedicated endpoint will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3181779