專利名稱:用于外設(shè)的軟件重載的系統(tǒng)電路和方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及計(jì)算機(jī)和計(jì)算機(jī)外設(shè)領(lǐng)域。更具體地,本發(fā)明涉及可卸除設(shè)備 的軟件重載。
背景技術(shù):
可卸除(“熱插拔”)設(shè)備(例如,USB外設(shè)、SDIO軟件狗、PCI/e卡以及其他設(shè)備) 可以使用可加載軟件(有時(shí)也被稱為“固件”),其在設(shè)備啟動(dòng)階段和/或在設(shè)備操作期間 的其他時(shí)候被加載。該軟件還決定設(shè)備的能力。有時(shí),需要用一些其他的軟件來替換現(xiàn)有軟件,以升級所述現(xiàn)有軟件,或者將現(xiàn)有 軟件替換為顯著改變設(shè)備能力(例如從TV接收機(jī)設(shè)備變?yōu)榇笕萘看鎯?chǔ)設(shè)備,或者任何其他 改變)的不同軟件。
發(fā)明內(nèi)容
本發(fā)明涉及用于可卸除設(shè)備或外設(shè)(例如,通用串行總線(“USB”)設(shè)備)的軟件 重載的系統(tǒng)和方法。根據(jù)本發(fā)明的一些實(shí)施例,與可卸除設(shè)備/外設(shè)集成在一起或者以其 他方式在功能上相關(guān)聯(lián)的主機(jī)接口可以模擬(例如,模仿)設(shè)備的正常操作,并且可以通過 表現(xiàn)為所述設(shè)備正在正確操作來回應(yīng)來自設(shè)備驅(qū)動(dòng)程序的任何通信(例如,請求),而所述 設(shè)備實(shí)際上正在重載操作軟件或固件,例如新的操作軟件/固件。根據(jù)本發(fā)明的其他實(shí)施例,主機(jī)計(jì)算機(jī)上的設(shè)備驅(qū)動(dòng)程序可以模仿正常操作并且 回應(yīng)任何主機(jī)請求,來表現(xiàn)為所述設(shè)備正在正確地操作,而所述設(shè)備實(shí)際上正在重載新軟 件。根據(jù)一些實(shí)施例,可以提供與外設(shè)主機(jī)接口相關(guān)聯(lián)的電路,其可以包括通信邏輯, 所述通信邏輯適于當(dāng)所述外設(shè)處于不可操作狀態(tài)時(shí)與主機(jī)設(shè)備進(jìn)行通信,如同所述外設(shè)可 操作一樣。所述通信邏輯可以適于當(dāng)所述外設(shè)正在加載操作軟件或固件時(shí)與主機(jī)設(shè)備進(jìn)行 通信,如同所述外設(shè)可操作一樣。所述通信邏輯可以適于當(dāng)軟件或固件正被加載到所述外 設(shè)時(shí)進(jìn)入重載模式,并且對主機(jī)訪問請求進(jìn)行響應(yīng),如同所述外設(shè)可操作一樣。所述通信邏 輯可以適于當(dāng)完成將軟件或固件加載到所述外設(shè)時(shí)進(jìn)入正常操作模式,并且?guī)椭鲋鳈C(jī) 設(shè)備和所述外設(shè)之間的通信。根據(jù)本發(fā)明的一些實(shí)施例,可以提供一種外設(shè),其可以包括主機(jī)接口,所述主機(jī)接 口適于當(dāng)所述外設(shè)處于不可操作狀態(tài)時(shí)與主機(jī)設(shè)備進(jìn)行通信,如同所述外設(shè)可操作一樣。 所述接口可以適于當(dāng)所述外設(shè)正在加載操作軟件或固件時(shí)與主機(jī)設(shè)備進(jìn)行通信,如同所述 外設(shè)可操作一樣。所述接口可以適于當(dāng)軟件或固件正被加載到所述外設(shè)時(shí)進(jìn)入重載模式, 并且對主機(jī)訪問請求進(jìn)行響應(yīng),如同所述外設(shè)可操作一樣。所述接口可以適于當(dāng)完成將軟 件或固件加載到所述外設(shè)時(shí)進(jìn)入正常操作模式,并且?guī)椭鲋鳈C(jī)設(shè)備和所述外設(shè)之間的 通信。所述外設(shè)可以包括至少兩個(gè)代碼存儲(chǔ)單元。根據(jù)本發(fā)明的一些實(shí)施例,可以提供一種外設(shè)接口模塊,其適于駐留于主機(jī)設(shè)備上并且可以包括通信邏輯,所述通信邏輯適于當(dāng)所述外設(shè)處于不可操作狀態(tài)時(shí)與主機(jī)設(shè)備 進(jìn)程進(jìn)行通信,如同所述外設(shè)可操作一樣。所述通信邏輯可以適于當(dāng)所述外設(shè)正在加載操 作軟件或固件時(shí)與主機(jī)設(shè)備進(jìn)程進(jìn)行通信,如同所述外設(shè)可操作一樣。所述通信邏輯可以 適于當(dāng)軟件或固件正被加載到所述外設(shè)時(shí)進(jìn)入重載模式,并且對主機(jī)進(jìn)程訪問請求進(jìn)行響 應(yīng),如同所述外設(shè)可操作一樣。所述通信邏輯可以適于當(dāng)完成將軟件或固件加載到所述外 設(shè)時(shí)進(jìn)入正常操作模式,并且?guī)椭鲋鳈C(jī)設(shè)備進(jìn)程和所述外設(shè)之間的通信。根據(jù)實(shí)施例,一種主機(jī)設(shè)備可以包括外設(shè)接口模塊,其包括通信邏輯,所述通信邏 輯適于當(dāng)所述外設(shè)正在加載操作軟件或固件時(shí)與主機(jī)設(shè)備進(jìn)程進(jìn)行通信,如同所述外設(shè)可 操作一樣。所述通信邏輯可以適于當(dāng)軟件或固件正被加載到所述外設(shè)時(shí)進(jìn)入重載模式,并 且對主機(jī)進(jìn)程訪問請求進(jìn)行響應(yīng),如同所述外設(shè)可操作一樣。所述通信邏輯可以適于當(dāng)完 成將軟件或固件加載到所述外設(shè)時(shí)進(jìn)入正常操作模式,并且?guī)椭鲋鳈C(jī)設(shè)備進(jìn)程和所述 外設(shè)之間的通信。
在說明書的結(jié)論部分特別指出并且明確要求保護(hù)被視為本發(fā)明的主題。然而,當(dāng) 與附圖一起閱讀時(shí),通過參照以下詳細(xì)描述,可以最佳地理解本發(fā)明一關(guān)于操作的組織 和方法以及本發(fā)明的目的、特征和優(yōu)點(diǎn),在附圖中圖1示出了本發(fā)明示例性實(shí)施例的基本配置;圖2示出了根據(jù)本發(fā)明一些實(shí)施例、連接到設(shè)備主機(jī)接口的示例性主機(jī)設(shè)備驅(qū)動(dòng) 程序的示意圖;圖3是根據(jù)本發(fā)明一些實(shí)施例、包括設(shè)備模擬或模仿正常操作的示例性重載過程 的流程圖;圖4是根據(jù)本發(fā)明一些實(shí)施例、包括設(shè)備模擬或模仿正常操作的另一示例性重載 過程的流程圖。將意識(shí)到,為了說明的簡潔和清楚,在附圖中示出的部件并非必須按比例繪制。例 如,為了清楚,一些部件的尺寸可以相對于其他部件被放大。另外,在認(rèn)為適當(dāng)?shù)牡胤剑诟?圖間可以重復(fù)標(biāo)號(hào)來指示相應(yīng)或類似的部件。
具體實(shí)施例方式在以下詳細(xì)描述中,闡述了很多具體細(xì)節(jié),以提供對本發(fā)明的透徹理解。然而,本 領(lǐng)域技術(shù)人員將會(huì)理解,無需這些具體的細(xì)節(jié)也可以實(shí)踐本發(fā)明。在其他示例中,沒有詳細(xì) 描述公知的方法、過程、組件和電路,以免模糊本發(fā)明。除非以其他方式特別指出,否則如從以下討論中顯而易見的是,應(yīng)該意識(shí)到,在整 篇說明書討論中使用諸如“處理”、“計(jì)算”、“運(yùn)算”、“確定”等術(shù)語是指計(jì)算機(jī)或計(jì)算系統(tǒng), 或者類似的電子計(jì)算設(shè)備的以下動(dòng)作和/或處理將在計(jì)算系統(tǒng)的寄存器和/或存儲(chǔ)器中 表示為物理量(例如,電量)的數(shù)據(jù)操縱和/或轉(zhuǎn)換為類似地表示為計(jì)算系統(tǒng)的存儲(chǔ)器、寄 存器或其他這樣的信息存儲(chǔ)、傳輸或顯示設(shè)備內(nèi)的物理量的其他數(shù)據(jù)。本發(fā)明的實(shí)施例可以包括用于執(zhí)行本文的操作的裝置。該裝置可以針對期望的 目的被特別地構(gòu)造,或者它可以包括被其中存儲(chǔ)的計(jì)算機(jī)程序選擇性地激活或重新配置的通用計(jì)算機(jī)。這樣的計(jì)算機(jī)程序可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,所述計(jì)算機(jī)可讀 存儲(chǔ)介質(zhì)例如但并不限于任何類型的盤(包括軟盤、光盤、CD-ROM、磁光盤)、只讀存儲(chǔ) 器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、電可編程只讀存儲(chǔ)器(EPROM)、電可擦可編程只讀存儲(chǔ)器 (EEPROM)、磁或光卡,或者適于存儲(chǔ)電子指令并且能夠耦合到計(jì)算機(jī)系統(tǒng)總線的任何其他 類型的介質(zhì)。本文闡述的處理和顯示并非固有地與任何特定計(jì)算機(jī)或其他裝置相關(guān)。各種通用 系統(tǒng)可以與根據(jù)本文的教導(dǎo)的程序一起使用,或者可以證明構(gòu)建更專用的裝置來執(zhí)行所期 望的方法是方便的。各種這樣的系統(tǒng)的期望的結(jié)構(gòu)將從下面的描述而顯現(xiàn)。此外,本發(fā)明 的實(shí)施例并不是參照任何特定編程語言來描述的。將意識(shí)到,可以使用各種編程語言來實(shí) 現(xiàn)如本文描述的本發(fā)明 的教導(dǎo)。軟件重載的目前實(shí)現(xiàn)可以包括各種機(jī)制,例如重置設(shè)備并在隨后的啟動(dòng)階段加 載新軟件;對設(shè)備閃存進(jìn)行編程并重啟設(shè)備;以及其他機(jī)制。所有目前的機(jī)制都可能涉及 重置和/或重新初始化,和/或可能涉及主機(jī)接口的其他操作,這些操作可以被主機(jī)操作系 統(tǒng)檢測到,這可能導(dǎo)致可以由所涉及的主機(jī)的操作定義來確定的一系列事件。這樣的設(shè)備接口事件可能導(dǎo)致各種缺點(diǎn),一些缺點(diǎn)可能是一般性的,如系統(tǒng)給用 戶的插入和拔出提醒(包括可聽提醒和可視提醒),此外,還可能存在可以由這些自動(dòng)刷新 過程(procedure)啟動(dòng)的、導(dǎo)致系統(tǒng)和⑶I修改的設(shè)備管理器應(yīng)用。文件系統(tǒng)設(shè)備發(fā)出可能導(dǎo)致文件管理器公共程序(utility)更改其狀態(tài)的事件, 并且用戶視角可能改變。可以綁定(bind)到這樣的設(shè)備的流媒體播放器和其他基于流的 應(yīng)用(音頻、視頻、P2p公共程序以及更多其他應(yīng)用)可能以檢測到這樣的設(shè)備作為終止指 示或其他重大事件。根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以存在這樣的系統(tǒng),其用于在可卸除設(shè)備操作時(shí)和 期間所述設(shè)備從主機(jī)計(jì)算機(jī)的軟件重載,并且可以無需再啟動(dòng)和/或重啟和/或重置主機(jī) 計(jì)算機(jī),和/或主機(jī)計(jì)算機(jī)中的任何進(jìn)程和/或接口設(shè)備驅(qū)動(dòng)程序。軟件重載可以以無縫、 透明或者其他平滑的方式完成,這可以確保無縫的主機(jī)操作。根據(jù)本發(fā)明的實(shí)施例,可以提供這樣的方法、電路和系統(tǒng),其用于以以下方式進(jìn)行 可卸除設(shè)備/外設(shè)從主機(jī)計(jì)算機(jī)的透明的軟件重載除了特定主機(jī)設(shè)備驅(qū)動(dòng)器實(shí)體之外, 主機(jī)中沒有實(shí)體可以檢測到軟件重載操作在/已經(jīng)在該可卸除設(shè)備/外設(shè)中發(fā)生。根據(jù)本 發(fā)明的實(shí)施例,通過使主機(jī)控制器或與其相關(guān)聯(lián)的邏輯在設(shè)備正在加載或者重載操作軟件 /共享軟件時(shí)模擬正常的設(shè)備操作,來避免多個(gè)事件和/或事件提醒。根據(jù)本發(fā)明的一些實(shí)施例,可卸除設(shè)備中的主機(jī)接口可以模擬或模仿正常操作, 并回應(yīng)任何設(shè)備驅(qū)動(dòng)程序請求,來表現(xiàn)為該設(shè)備正在正確地操作,而該設(shè)備實(shí)際上正在重 載新軟件。根據(jù)本發(fā)明的一些其他實(shí)施例,主機(jī)計(jì)算機(jī)中的設(shè)備驅(qū)動(dòng)程序可以模擬或模仿正 常操作,并回應(yīng)任何主機(jī)請求,來表現(xiàn)為該設(shè)備正在正確地操作,而該設(shè)備實(shí)際上正在重載 新軟件。根據(jù)本發(fā)明的一些實(shí)施例,可以存在能夠具有以下兩種操作模式的設(shè)備驅(qū)動(dòng)程 序第一種操作模式可以為工作模式,而第二種操作模式可以為重載模式。根據(jù)本發(fā)明的一 些實(shí)施例,在所述工作模式中,這種設(shè)備驅(qū)動(dòng)程序可以正常地操作,并且可以以常規(guī)的操作形式調(diào)節(jié)主機(jī)和可移除設(shè)備/外設(shè)之間的通信。根據(jù)本發(fā)明的一些實(shí)施例,在所述重載模式中,這種設(shè)備驅(qū)動(dòng)程序可以向主機(jī)模擬或者模仿正常的操作模式,并且正確地回應(yīng)可能 發(fā)生的任何主機(jī)訪問,同時(shí)進(jìn)行或以其他方式幫助新軟件到設(shè)備的重載。根據(jù)本發(fā)明的一 些其他實(shí)施例,可以提供可以具有以下兩種操作模式的設(shè)備第一種操作模式可以為工作 模式,而第二種操作模式可以為重載模式。根據(jù)本發(fā)明的一些實(shí)施例,在所述工作模式中, 這種設(shè)備的主機(jī)接口(硬件和軟件)可以正常地操作,并且可以以常規(guī)的操作形式與主機(jī) 通信。根據(jù)本發(fā)明的一些實(shí)施例,在所述重載模式中,這種設(shè)備的主機(jī)接口和/或與其在功 能上相關(guān)聯(lián)的邏輯電路可以向主機(jī)和/或其上運(yùn)行的設(shè)備驅(qū)動(dòng)程序模仿正常的操作模式, 并且可以正確地回應(yīng)可能發(fā)生的任何主機(jī)訪問請求。根據(jù)本發(fā)明的一些實(shí)施例,一旦軟件下載過程初始化,設(shè)備可以將主機(jī)接口(硬 件和/或軟件)設(shè)置為正確地回應(yīng)在軟件下載過程中可能發(fā)生的任何主機(jī)訪問請求,如同 該設(shè)備仍可操作一樣,并且僅在此后可以進(jìn)行軟件重載所需的任何操作,包括替換代碼存 儲(chǔ)器(例如,RAM和/或ROM和/或閃存和/或任何其他代碼存儲(chǔ)單元)、重新初始化任何 需要的設(shè)備組件,或者重啟該設(shè)備。根據(jù)本發(fā)明的一些實(shí)施例,在軟件下載完成后,設(shè)備可 以被重新初始化,并且主機(jī)接口可以被重新激活為其正常操作模式,并被重新綁定到可能 正在該設(shè)備上運(yùn)行的新軟件。根據(jù)本發(fā)明的一些實(shí)施例,設(shè)備可以具有兩個(gè)代碼存儲(chǔ)器塊,第一存儲(chǔ)器塊和第 二存儲(chǔ)器塊。代碼可以從活動(dòng)的存儲(chǔ)器塊(可以為第一存儲(chǔ)器塊或第二存儲(chǔ)器塊)運(yùn)行, 而新的代碼可以被重載到另一存儲(chǔ)器塊(相應(yīng)地可以為第二存儲(chǔ)器塊或第一存儲(chǔ)器塊)。 根據(jù)本發(fā)明的一些實(shí)施例,該新的代碼可以在設(shè)備保持正常操作并且從活動(dòng)的存儲(chǔ)器塊運(yùn) 行時(shí),被重載到另一存儲(chǔ)器塊。根據(jù)本發(fā)明的一些實(shí)施例,在軟件已經(jīng)被下載到另一存儲(chǔ)器 后,設(shè)備可以將主機(jī)接口(硬件和/或軟件)設(shè)置為正確地回應(yīng)可能發(fā)生的任何主機(jī)訪問 請求,并且隨后可以重新初始化任何需要的設(shè)備組件或者重啟該設(shè)備,在這之后,該主機(jī)接 口可以被重新激活為其正常操作模式,并被重新綁定到現(xiàn)在可能在該設(shè)備的所述另一存儲(chǔ) 器塊上運(yùn)行的新軟件。根據(jù)本發(fā)明的一些其他實(shí)施例,在軟件已經(jīng)被下載到另一存儲(chǔ)器后, 設(shè)備可以將主機(jī)接口(硬件和/或軟件)設(shè)置為正確地回應(yīng)可能發(fā)生的任何主機(jī)訪問。隨 后,可以將新軟件拷貝到第一存儲(chǔ)器,并且可以重新初始化任何需要的設(shè)備組件或者可以 重啟該設(shè)備,在這之后,該主機(jī)接口可以被重新激活為其正常操作模式,并被重新綁定到可 以在該設(shè)備的第一存儲(chǔ)器塊上運(yùn)行的新軟件。根據(jù)本發(fā)明的一些其他實(shí)施例,設(shè)備可以將 主機(jī)接口(硬件和/或軟件)設(shè)置為正確地回應(yīng)可能發(fā)生的任何主機(jī)訪問,在這之后,軟件 可以被下載到第一存儲(chǔ)器并且替換現(xiàn)有軟件。在軟件被下載后,可以重新初始化任何需要 的設(shè)備組件或者該設(shè)備可以進(jìn)行重啟,并且隨后該主機(jī)接口可以被重新激活為其正常操作 模式,并被重新綁定到可能正從該設(shè)備的第一存儲(chǔ)器塊運(yùn)行的新軟件。圖1示出了根據(jù)本發(fā)明一些實(shí)施例的示例性配置,包括連接到主機(jī)計(jì)算機(jī)(1)的 設(shè)備(2)。設(shè)備(2)可以通過電纜(3)連接到主機(jī)計(jì)算機(jī)(1),或者該設(shè)備可以被直接插到 該主機(jī)計(jì)算機(jī)。在圖2中,示出了主機(jī)(7)和設(shè)備(4)的邏輯圖。設(shè)備(4)中的主機(jī)接口 (6)可以通過鏈路(8)與主機(jī)(7)中的設(shè)備驅(qū)動(dòng)程序(5)進(jìn)行通信。鏈路(8)可以包括軟 件消息和/或硬件信令。圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性流程圖,其示出了可以在主機(jī)接口和設(shè)備驅(qū)動(dòng)程序中發(fā)生的步驟以及它們之間的關(guān)系。根據(jù)該實(shí)施例,主機(jī)接口可以向主機(jī)模仿正常操作,并且可以正確地回應(yīng)軟件重載操作期間的任何軟件和/或硬件主機(jī)請求。圖4是根據(jù)本發(fā)明的另一實(shí)施例的示例性流程圖,其示出了在主機(jī)接口和設(shè)備驅(qū) 動(dòng)程序中發(fā)生的步驟以及它們之間的關(guān)系。根據(jù)該實(shí)施例,設(shè)備驅(qū)動(dòng)程序可以向主機(jī)模仿 正常操作,并且可以正確地回應(yīng)軟件重載操作期間的任何主機(jī)請求。在主機(jī)接口可以模仿正常操作的情況下(圖3),基于來自主機(jī)的軟件重載命令 (10),設(shè)備驅(qū)動(dòng)程序可以退出正常操作狀態(tài)(11)并且轉(zhuǎn)變?yōu)檐浖剌d狀態(tài)(12),在這之 后,它可以向設(shè)備發(fā)送命令以進(jìn)入軟件重載模式(13)。一旦接收到來自設(shè)備驅(qū)動(dòng)程序的軟 件重載命令,主機(jī)接口可以從正常操作狀態(tài)(15)轉(zhuǎn)變?yōu)檐浖剌d狀態(tài)(16)。隨后,主機(jī)接 口可以正確地回應(yīng)任何主機(jī)請求(模仿正常操作)(17)。設(shè)備驅(qū)動(dòng)程序和主機(jī)接口隨后可 以分別進(jìn)行軟件下載,狀態(tài)14和18。一旦軟件下載完成,主機(jī)接口可以重新初始化設(shè)備的 可能需要被初始化的任何部分(19),并且設(shè)備驅(qū)動(dòng)程序和主機(jī)接口可以分別返回正常操作 模式11和15。在設(shè)備驅(qū)動(dòng)程序可以模仿正常操作的情況下(圖4),基于來自主機(jī)的軟件重載命 令(20),設(shè)備驅(qū)動(dòng)程序可以退出正常操作狀態(tài)(21)并且轉(zhuǎn)變?yōu)檐浖剌d狀態(tài)(22)。隨后, 設(shè)備驅(qū)動(dòng)程序可以被設(shè)置為正確地回應(yīng)任何主機(jī)請求(模仿正常操作)(23),在這之后,它 可以命令設(shè)備進(jìn)入重載模式狀態(tài)(24)。一旦接收到來自設(shè)備驅(qū)動(dòng)程序的該命令,主機(jī)接口 可以從正常操作狀態(tài)(27)轉(zhuǎn)變?yōu)檐浖剌d狀態(tài)(28)。設(shè)備驅(qū)動(dòng)程序和主機(jī)接口隨后可以 分別進(jìn)行軟件下載,狀態(tài)25和29。一旦軟件下載完成,主機(jī)接口可以重新初始化設(shè)備的可 能需要被初始化的任何部分(30),同時(shí)設(shè)備驅(qū)動(dòng)程序正處于等待狀態(tài)中等待設(shè)備完成重新 初始化過程(26)。一旦重新初始化完成,主機(jī)接口可以向設(shè)備驅(qū)動(dòng)程序發(fā)信號(hào)通知重新初 始化已經(jīng)完成(31),并且設(shè)備驅(qū)動(dòng)程序和主機(jī)接口可以分別返回正常操作模式21和27。根據(jù)本發(fā)明的實(shí)施例,可以存在這樣的方法,其用于在可卸除設(shè)備操作時(shí)和期間 所述設(shè)備從主機(jī)計(jì)算機(jī)的軟件重載,并且可以無需再啟動(dòng)和/或重啟主機(jī)計(jì)算機(jī),和/或主 機(jī)計(jì)算機(jī)中的任何進(jìn)程和/或任何設(shè)備驅(qū)動(dòng)程序。軟件重載可以以平滑的方式完成,這可 以確保主機(jī)的無縫操作。根據(jù)本發(fā)明的另一實(shí)施例,可以存在這樣的方法,其用于以以下方式進(jìn)行可卸除 設(shè)備從主機(jī)計(jì)算機(jī)的透明的軟件重載除了特定主機(jī)設(shè)備驅(qū)動(dòng)器實(shí)體之外,主機(jī)中沒有實(shí) 體可以檢測到軟件重載操作正在發(fā)生,并且因此可以不觸發(fā)由主機(jī)接口事件所導(dǎo)致的一系 列事件。盡管已經(jīng)在本文中說明和描述了本發(fā)明的某些特征,但是現(xiàn)在本領(lǐng)域技術(shù)人員將 想到很多修改、替代、變型和等同方案。因此,應(yīng)當(dāng)理解,所附權(quán)利要求意在覆蓋落入本發(fā)明 真實(shí)精神內(nèi)的所有此類修改和變型。
權(quán)利要求
一種與外設(shè)主機(jī)接口相關(guān)聯(lián)的電路,包括通信邏輯,其適于當(dāng)所述外設(shè)處于不可操作狀態(tài)時(shí)與主機(jī)設(shè)備進(jìn)行通信,如同所述外設(shè)可操作一樣。
2.根據(jù)權(quán)利要求1所述的電路,其中,所述通信邏輯適于當(dāng)所述外設(shè)正在加載操作軟 件或固件時(shí)與主機(jī)設(shè)備進(jìn)行通信,如同所述外設(shè)可操作一樣。
3.根據(jù)權(quán)利要求2所述的電路,其中,所述通信邏輯適于當(dāng)軟件或固件正被加載到所 述外設(shè)時(shí)進(jìn)入重載模式,并且對主機(jī)訪問請求進(jìn)行響應(yīng),如同所述外設(shè)可操作一樣。
4.根據(jù)權(quán)利要求3所述的電路,其中,所述通信邏輯適于當(dāng)完成將軟件或固件加載到 所述外設(shè)時(shí)進(jìn)入正常操作模式,并且?guī)椭鲋鳈C(jī)設(shè)備和所述外設(shè)之間的通信。
5.一種外設(shè),包括主機(jī)接口,其適于當(dāng)所述外設(shè)處于不可操作狀態(tài)時(shí)與主機(jī)設(shè)備進(jìn)行通信,如同所述外設(shè)可操作一樣。
6.根據(jù)權(quán)利要求5所述的外設(shè),其中,所述接口適于當(dāng)所述外設(shè)正在加載操作軟件或 固件時(shí)與主機(jī)設(shè)備進(jìn)行通信,如同所述外設(shè)可操作一樣。
7.根據(jù)權(quán)利要求6所述的外設(shè),其中,所述接口適于當(dāng)軟件或固件正被加載到所述外 設(shè)時(shí)進(jìn)入重載模式,并且對主機(jī)訪問請求進(jìn)行響應(yīng),如同所述外設(shè)可操作一樣。
8.根據(jù)權(quán)利要求7所述的外設(shè),其中,所述接口適于當(dāng)完成將軟件或固件加載到所述 外設(shè)時(shí)進(jìn)入正常操作模式,并且?guī)椭鲋鳈C(jī)設(shè)備和所述外設(shè)之間的通信。
9.根據(jù)權(quán)利要求5所述的外設(shè),還包括至少兩個(gè)代碼存儲(chǔ)單元。
10.一種外設(shè)接口模塊,其適于駐留于主機(jī)設(shè)備上,并且包括通信邏輯,其適于當(dāng)所述外設(shè)處于不可操作狀態(tài)時(shí)與主機(jī)設(shè)備進(jìn)程進(jìn)行通信,如同所 述外設(shè)可操作一樣。
11.根據(jù)權(quán)利要求10所述的模塊,其中,所述通信邏輯適于當(dāng)所述外設(shè)正在加載操作 軟件或固件時(shí)與主機(jī)設(shè)備進(jìn)程進(jìn)行通信,如同所述外設(shè)可操作一樣。
12.根據(jù)權(quán)利要求11所述的模塊,其中,所述通信邏輯適于當(dāng)軟件或固件正被加載到 所述外設(shè)時(shí)進(jìn)入重載模式,并且對主機(jī)進(jìn)程訪問請求進(jìn)行響應(yīng),如同所述外設(shè)可操作一樣。
13.根據(jù)權(quán)利要求12所述的模塊,其中,所述通信邏輯適于當(dāng)完成將軟件或固件加載 到所述外設(shè)時(shí)進(jìn)入正常操作模式,并且?guī)椭鲋鳈C(jī)設(shè)備進(jìn)程和所述外設(shè)之間的通信。
14.一種主機(jī)設(shè)備,包括外設(shè)接口模塊,其包括通信邏輯,所述通信邏輯適于當(dāng)所述外設(shè)正在加載操作軟件或 固件時(shí)與主機(jī)設(shè)備進(jìn)程進(jìn)行通信,如同所述外設(shè)可操作一樣。
15.根據(jù)權(quán)利要求14所述的主機(jī),其中,所述通信邏輯適于當(dāng)軟件或固件正被加載到 所述外設(shè)時(shí)進(jìn)入重載模式,并且對主機(jī)進(jìn)程訪問請求進(jìn)行響應(yīng),如同所述外設(shè)可操作一樣。
16.根據(jù)權(quán)利要求15所述的主機(jī),其中,所述通信邏輯適于當(dāng)完成將軟件或固件加載 到所述外設(shè)時(shí)進(jìn)入正常操作模式,并且?guī)椭鲋鳈C(jī)設(shè)備進(jìn)程和所述外設(shè)之間的通信。
全文摘要
所公開的是用于幫助外設(shè)的軟件或固件重載的方法、電路和系統(tǒng)。根據(jù)本發(fā)明的實(shí)施例,外設(shè)或主機(jī)設(shè)備上的一個(gè)或更多電路或模塊可以在該外設(shè)參與軟件/固件重載操作時(shí)模擬正常的外設(shè)操作。
文檔編號(hào)G06F9/445GK101826024SQ20101011583
公開日2010年9月8日 申請日期2010年2月12日 優(yōu)先權(quán)日2010年2月12日
發(fā)明者R·沙爾吉, U·什科利尼克 申請人:思亞諾移動(dòng)芯片有限公司