Method and system for firmware downloads
First Claim
1. A method for a device to download a device program data from a non-volatile data source of the device to a volatile memory of the device while connected to a host, comprising the following steps performed by the device:
- connecting to a host; and
in response to one of a device power up and a device reset,waiting for a first request signal from the host;
responding to the first request signal with a first negative acknowledgement (NAK);
initiating downloading the device program from the non-volatile data source of the device to the volatile memory of the device for a predetermined time period based on the request signal; and
in response to a subsequent request signal from the host,(a) if the device program is not completely downloaded, sending a subsequent NAK and continuing to download the device program from the non-volatile data source of the device to the volatile memory of the device, and(b) if the device program is completely downloaded, responding to the subsequent request signal by executing the device program, further comprising updating a download point each time the predetermined time period is completed, wherein the predetermined time period is a first time period for a data request signal, and a second time period for a status request signal and the first time period is five hundred milliseconds and the second time period is fifty milliseconds.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for downloading firmware by a device controller from a data source while connected to a host. The device controller connects to the host and waits for a signal or communication from the host. The device controller responds to the signal or communication with a negative acknowledgement (NAK), and downloads data for a predetermined period of time based on the request signal or communication type received from the host. The device may use a pointer to track the progress of the download. Once the device has completed the download, the device responds normally to the host.
40 Citations
15 Claims
-
1. A method for a device to download a device program data from a non-volatile data source of the device to a volatile memory of the device while connected to a host, comprising the following steps performed by the device:
-
connecting to a host; and
in response to one of a device power up and a device reset,waiting for a first request signal from the host; responding to the first request signal with a first negative acknowledgement (NAK); initiating downloading the device program from the non-volatile data source of the device to the volatile memory of the device for a predetermined time period based on the request signal; and in response to a subsequent request signal from the host, (a) if the device program is not completely downloaded, sending a subsequent NAK and continuing to download the device program from the non-volatile data source of the device to the volatile memory of the device, and (b) if the device program is completely downloaded, responding to the subsequent request signal by executing the device program, further comprising updating a download point each time the predetermined time period is completed, wherein the predetermined time period is a first time period for a data request signal, and a second time period for a status request signal and the first time period is five hundred milliseconds and the second time period is fifty milliseconds. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A universal serial bus (USB) compatible device, comprising:
-
a non-volatile memory having firmware stored therein; a microcontroller unit (MCU) a volatile memory; and an instruction memory storing instructions for execution by the MCU upon reset, the execution of the instructions controlling the device to respond with a negative acknowledgement (NAK) in response to a request signal from a host controller, to download the firmware to the volatile memory for use by the MCU for a period of time after responding with the NAK, and to continue to respond with NAKs and to download the firmware until downloading of the firmware to the volatile memory has completed, and to execute the firmware in response to a request signal thereafter, wherein the MCU downloads data blocks associated with the firmware for a predetermined time period based on the request signal type from the host controller, the predetermined time period is a first time period for a signal with a data stage and a second time period for a signal without a data stage and the first time period is five hundred milliseconds and the second time period is fifty milliseconds. - View Dependent Claims (13, 14, 15)
-
Specification