一種程序更新方法、裝置、系統和成像盒與流程
2024-03-30 23:35:05 1

本發明涉及通訊技術領域,尤其涉及一種程序更新方法、裝置、系統和成像盒。
背景技術:
目前,耗材晶片的程序區一般是燒錄在固化的存儲器中。當耗材晶片出廠的時候,在這個固化的存儲器中寫入程序;之後,在耗材晶片的使用過程中,這個固化的存儲器中不能進行讀寫,耗材晶片的程序區的程序是固定不變的。
在實現本發明過程中,發明人發現現有技術中至少存在如下問題:
現有技術中,當需要對耗材晶片中的程序進行更新升級時,無法對耗材晶片中的程序進行更新,只能通過另外發行一個新版本耗材晶片的形式實現程序更新,不僅靈活性較差,還會造成資源的浪費。
技術實現要素:
有鑑於此,本發明實施例提供了一種程序更新方法、裝置、系統和成像盒,用以解決現有技術中耗材晶片的程序區不可讀寫造成的耗材晶片的靈活性較差的問題和資源浪費的問題。
第一方面,本發明實施例提供了一種程序更新方法,包括:
更新設備獲取待更新數據;
所述更新設備將所述待更新數據發送給耗材晶片;
所述耗材晶片接收所述更新設備發送的數據;
所述耗材晶片識別接收到的所述數據是否為待更新數據;
若識別出接收到的所述數據為待更新數據,所述耗材晶片根據所述待更新數據的更新方式,將所述待更新數據寫入指定地址,以實現對指定程序的更新。
第二方面,本發明實施例提供了一種程序更新方法,執行於更新設備中,所述方法包括:
獲取待更新數據;
將所述待更新數據發送給耗材晶片。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述待更新數據包括:標識符、地址信息、更新方式、需要更新的程序代碼、長度和校驗中的至少一個。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,將所述待更新數據發送給耗材晶片,包括:
將所述待更新數據進行加密;
將加密後的所述待更新數據發送給所述耗材晶片。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述方法還包括:
發送運行指令給所述耗材晶片,以使得所述耗材晶片根據所述運行指令運行所述指定程序,並返回運行結果;
接收所述運行結果;
根據所述運行結果,確定所述耗材晶片是否更新成功。
第三方面,本發明實施例提供了一種程序更新方法,執行於耗材晶片中,所述方法包括:
接收更新設備發送的數據;
識別接收到的所述數據是否為待更新數據;
若識別出接收到的所述數據為待更新數據,根據所述待更新數據的更新方式,將所述待更新數據寫入指定地址,以實現對指定程序的更新。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述待更新數據包括:標識符、地址信息、更新方式、需要更新的程序代碼、長度和校驗中的至少一個。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,根據所述待更新數據的更新方式,將所述待更新數據寫入指定地址,包括:
當所述更新方式為第一方式時,將所述待更新數據寫入所述地址信息所指示的地址;或者,
當所述更新方式為第二方式時,將所述待更新數據寫入所述指定程序指定的地址;或者,
當所述更新方式為第三方式時,根據所述待更新數據計算得到一個地址,以及將待更新數據寫入計算得到的地址。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,根據所述待更新數據的更新方式,將所述待更新數據寫入指定地址之前,所述方法還包括:
識別接收到的所述數據是否為加密數據;
當接收到的所述數據為加密數據時,解密所述數據。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述方法還包括:
接收所述更新設備發送的運行指令;
根據所述運行指令運行所述指定程序,得到運行結果;
將所述運行結果返回給所述更新設備。
第四方面,本發明實施例提供了一種程序更新系統,包括:
更新設備,用於獲取待更新數據;
所述更新設備,還用於將所述待更新數據發送給耗材晶片;
所述耗材晶片,用於接收所述更新設備發送的數據;
所述耗材晶片,還用於識別接收到的所述數據是否為待更新數據;
所述耗材晶片,還用於若識別出接收到的所述數據為待更新數據,根據所述待更新數據的更新方式,將所述待更新數據寫入指定地址,以實現對指定程序的更新。
第五方面,本發明實施例提供了一種程序更新裝置,位於更新設備中,所述裝置包括:
獲取單元,用於獲取待更新數據;
發送單元,用於將所述待更新數據發送給耗材晶片。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述待更新數據包括:標識符、地址信息、更新方式、需要更新的程序代碼、長度和校驗中的至少一個。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述裝置還包括:
加密單元,用於將所述待更新數據進行加密;
所述發送單元,還用於將加密後的所述待更新數據發送給所述耗材晶片。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述裝置還包括:
所述發送單元,還用於發送運行指令給所述耗材晶片,以使得所述耗材晶片根據所述運行指令運行所述指定程序,並返回運行結果;
接收單元,用於接收所述運行結果;
確定單元,用於根據所述運行結果,確定所述耗材晶片是否更新成功。
第六方面,本發明實施例提供了一種程序更新裝置,位於耗材晶片中,所述裝置包括:
接收單元,用於接收更新設備發送的數據;
第一識別單元,用於識別接收到的所述數據是否為待更新數據;
更新單元,用於若識別出接收到的所述數據為待更新數據,根據所述待更新數據的更新方式,將所述待更新數據寫入指定地址,以實現對指定程序的更新。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述待更新數據包括:標識符、地址信息、更新方式、需要更新的程序代碼、長度和校驗中的至少一個。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述更新單元,具體用於:
當所述更新方式為第一方式時,將所述待更新數據寫入所述地址信息所指示的地址;或者,
當所述更新方式為第二方式時,將所述待更新數據寫入所述指定程序指定的地址;或者,
當所述更新方式為第三方式時,根據所述待更新數據計算得到一個地址,以及將待更新數據寫入計算得到的地址。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述裝置還包括:
第二識別單元,用於根據所述待更新數據的更新方式,將所述待更新數據寫入指定地址之前,識別接收到的所述數據是否為加密數據;
解密單元,用於當接收到的所述數據為加密數據時,解密所述數據。
如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述裝置還包括:
所述接收單元,還用於接收所述更新設備發送的運行指令;
運行單元,用於根據所述運行指令運行所述指定程序,得到運行結果;
返回單元,用於將所述運行結果返回給所述更新設備。
第七方面,本發明實施例提供了一種成像盒,包括:耗材晶片;
該耗材晶片包括上述的第二種程序更新裝置。
上述技術方案中的一個技術方案具有如下有益效果:
本發明實施例中,更新設備可以將獲取到的待更新數據發送給耗材晶片,而耗材晶片在接收到這些數據後,若識別出這些數據為待更新數據,才會根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新;如此,耗材晶片中的程序區採用可讀可寫的存儲器,既可以將這些待更新數據寫入到存儲器中的指定地址,並且,這些寫入到存儲器的指定地址中的數據還可以被更新設備調用;從而,耗材晶片中的程序可以根據實際需要進行寫入和讀取,並不是固定不變的,進而,當需要對耗材晶片中的程序進行更新升級時,無需通過另外發行新版本的耗材晶片就可以實現對程序的更新,因此,本發明實施例提供的技術方案不僅靈活性較高,且避免了對耗材晶片的資源浪費。
【附圖說明】
為了更清楚地說明本發明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其它的附圖。
圖1是本發明實施例所提供的程序更新方法的信息交互示意圖;
圖2是本發明實施例所提供的程序更新方法的實施例一的流程示意圖;
圖3是本發明實施例所提供的程序更新方法的實施例二的流程示意圖;
圖4是本發明實施例所提供的程序更新系統的功能方塊圖;
圖5是本發明實施例所提供的程序更新裝置的實施例一的功能方塊圖;
圖6是本發明實施例所提供的程序更新裝置的實施例二的功能方塊圖;
圖7是本發明實施例所提供的成像盒的功能方塊圖。
【具體實施方式】
為了更好的理解本發明的技術方案,下面結合附圖對本發明實施例進行詳細描述。
應當明確,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其它實施例,都屬於本發明保護的範圍。
在本發明實施例中使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本發明。在本發明實施例和所附權利要求書中所使用的單數形式的「一種」、「所述」和「該」也旨在包括多數形式,除非上下文清楚地表示其他含義。
應當理解,本文中使用的術語「和/或」僅僅是一種描述關聯對象的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字符「/」,一般表示前後關聯對象是一種「或」的關係。
應當理解,儘管在本發明實施例中可能採用術語第一、第二等來描述更新方式,但這些更新方式不應限於這些術語。這些術語僅用來將更新方式彼此區分開。例如,在不脫離本發明實施例範圍的情況下,第一更新方式也可以被稱為第二更新方式,類似地,第二更新方式也可以被稱為第一更新方式。
取決於語境,如在此所使用的詞語「如果」可以被解釋成為「在……時」或「當……時」或「響應於確定」或「響應於檢測」。類似地,取決於語境,短語「如果確定」或「如果檢測(陳述的條件或事件)」可以被解釋成為「當確定時」或「響應於確定」或「當檢測(陳述的條件或事件)時」或「響應於檢測(陳述的條件或事件)」。
實施例一
為了解決現有技術中存在的上述問題,本發明實施例給出一種程序更新方法,該方法執行於包括更新設備和耗材晶片的系統中。
具體的,請參考圖1,其為本發明實施例所提供的程序更新方法的信息交互示意圖,如圖1所示,該方法包括以下步驟:
S101,更新設備獲取待更新數據。
S102,更新設備將待更新數據發送給耗材晶片。
S103,耗材晶片接收更新設備發送的數據。
S104,耗材晶片識別接收到的數據是否為待更新數據。
S105,若識別出接收到的數據為待更新數據,耗材晶片根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新。
本發明實施例的技術方案具有以下有益效果:
本發明實施例中,更新設備可以將獲取到的待更新數據發送給耗材晶片,而耗材晶片在接收到這些數據後,若識別出這些數據為待更新數據後,才會根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新;如此,耗材晶片中的程序區採用可讀可寫的存儲器,既可以將這些待更新數據寫入到存儲器中的指定地址,並且,這些寫入到存儲器的指定地址中的數據還可以被更新設備調用;從而,耗材晶片中的程序可以根據實際需要進行寫入和讀取,並不是固定不變的,進而,當需要對耗材晶片中的程序進行更新升級時,無需通過另外發行新版本的耗材晶片就可以實現對程序的更新,因此,本發明實施例提供的技術方案不僅靈活性較高,且避免了對耗材晶片的資源浪費。
實施例二
本發明實施例給出一種程序更新方法,該方法執行於更新設備中。
本發明實施例中,當需要對耗材晶片中的軟體部分進行更新的時候,更新設備才會執行本發明實施例提供程序更新方法。
例如,當耗材晶片中的某段程序並不完善,需要對這段程序進行完善的時候,可以啟動本方案。或者,又例如,耗材晶片中用於存儲程序的位置中存在空白程序段,需要填補這段空白程序段使得耗材晶片具備某種功能時,可以啟動本方案。或者,又例如,當需要對耗材晶片中已經具備的某段程序進行更改或重寫,以更改耗材晶片中原來具備的功能時,可以啟動本方案。或者,又例如,耗材晶片中的程度段中存在一些特殊的地址,耗材晶片可以根據這些特殊地址存儲的數值來判斷運行哪些程序,當需要對這些特殊地址的數值進行改寫以開通一些程序的可運行性時,可以啟動本方案。
具體的,請參考圖2,其為本發明實施例所提供的程序更新方法的實施例一的流程示意圖,如圖2所示,該方法包括以下步驟:
S201,獲取待更新數據。
S202,將待更新數據發送給耗材晶片。
在具體的實現過程中,待更新數據可以包括但不限於:標識符、地址信息、更新方式、需要更新的程序代碼、長度和校驗等。
其中,標識符用來指示耗材晶片執行更新程序的動作。例如,可以用第一標識符指示耗材晶片在接收到這個標識符後,直接對耗材晶片中的指定存儲位置存儲的數據進行改寫;或者,又例如,可以用第二標識符指示耗材晶片在接收到這個標識符後,運行耗材晶片內的一個程序進行尋址,然後對尋址得到的位置存儲的數據進行改寫。
需要說明的是,待更新數據中的更新方式與地址信息相互關聯,根據更新方式的不同,地址信息可以為空或者不能為空。可以理解的是,地址信息為空是指待更新數據中可以不包括地址信息。
例如,若待更新數據中的更新方式為直接利用待更新數據中的地址信息,則更新設備將待更新數據發送給耗材晶片時,地址信息不能為空,以便於耗材晶片根據待更新數據中的地址信息,直接對這個地址存儲的數據進行更新。
或者,又例如,若待更新數據中的更新方式為調用耗材晶片中的原有程序段,由於原有程序段中已經指定了地址,因此更新設備發送的待更新數據中地址信息可以為空。
或者,又例如,若待更新數據中的更新方式為耗材晶片進行尋址,則更新設備發送給耗材晶片的待更新數據中的地址信息可以為空,因為耗材晶片可以調用自身程序進行尋址,進而對尋址得到的地址的數據進行更新。
需要說明的是,本發明實施例中,更新設備可以包括但不限於:印表機或者專門用於更新晶片的第三方更新設備,例如,燒錄儀等。
基於此,更新設備獲取待更新數據時,可以存在以下幾種具體方式:
第一種,更新設備直接根據預設的待更新數據的信息,在自身中生成待更新數據。此時,更新設備可以為印表機或者第三方更新設備。
具體的,若更新設備為印表機,由印表機直接生成並將待更新數據發送給耗材晶片,也就是,由印表機實現對耗材晶片的更新。
或者,若更新設備為第三方更新設備,由第三方更新設備直接生成並將待更新數據發送給耗材晶片,也就是,由第三方更新設備實現對耗材晶片的更新。
第二種,更新設備為印表機,印表機獲取第三方更新設備中的待更新數據,而待更新數據是第三方更新設備根據預設的待更新數據的信息自身生成的。
此時,更新設備為印表機,印表機負責獲取待更新數據並將待更新數據發送給耗材晶片,也就是,由印表機實現對耗材晶片的更新;在這個過程中,第三方更新設備只是用於生成待更新數據。
需要說明的是,印表機或者第三方更新設備在生成待更新數據時,可以根據用戶預設的待更新數據的信息,按照耗材晶片中的程序編譯規則進行生成;這樣,可以使得耗材晶片將這些待更新數據寫入指定地址後,這些新寫入的數據能夠與這個指定地址前、後的程序代碼連接上。
需要說明的是,本發明實施例對耗材晶片中的程序編譯規則不進行特別限定,例如,程序編譯規則可以包括但不限於:代碼格式、寄存器的使用不能覆蓋、堆棧必須平衡等。在實際應用過程中,耗材晶片的程序編譯規則可以提前預設在更新設備中。
舉例說明,若耗材晶片中的程序是根據一個指定規則進行編譯的二進位代碼,則印表機或者第三方更新設備在進行待更新數據的生成時,必然按照這個指定規則對用戶預設的待更新數據的信息進行編譯,以得到符合耗材晶片中程序編譯規則的待更新數據。
針對S202步驟,本發明實施例給出兩種實現方式:
方式一、更新設備獲取到待更新數據後,不對待更新數據做其他處理,直接發送給耗材晶片。
方式二、更新設備獲取到待更新數據後,對待更新數據進行數據處理後,將處理後的待更新數據發送給耗材晶片。其中,數據處理可以包括但不限於:加密、壓縮和格式轉換等,本發明實施例對此不進行特別限定。
在一個具體的實現過程中,更新設備可以將待更新數據進行加密;然後,將加密後的待更新數據發送給耗材晶片,這樣,可以提高更新設備與耗材晶片之間的數據傳輸過程的安全性。
本發明實施例中,當需要對耗材晶片進行更新時,執行上述的程序更新流程,以實現對耗材晶片中的程序的更新;本發明實施例中,耗材晶片還可以進一步確定耗材晶片中的程序更新是否成功。
在一個具體的實現過程中,更新設備在將待更新數據發送給耗材晶片之後,還可以發送運行指令給耗材晶片,以使得耗材晶片根據運行指令運行指定程序,並返回運行結果;然後,更新設備接收運行結果;進而,可以根據運行結果,確定耗材晶片是否更新成功。
具體的,更新設備發送給耗材晶片的運行指令是為了指示耗材晶片去調用這些根據新寫入的數據得到的更新後的程序。這樣,如果耗材晶片能夠調用這個程序,就能得到運行成功地運行結果,也就說明耗材晶片更新成功。另一方面,如果耗材晶片不能夠調用這個程序,就會得到運行失敗的運行結果,如此,更新設備就能確定耗材晶片更新失敗,從而,可以確定耗材晶片不能進行更新,進而,更新設備就能實現對耗材晶片是否可用的篩選。
本發明實施例的技術方案具有以下有益效果:
本發明實施例中,更新設備可以將獲取到的待更新數據發送給耗材晶片,而耗材晶片在接收到這些數據後,若識別出這些數據為待更新數據,才會根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新;如此,耗材晶片中的程序區採用可讀可寫的存儲器,既可以將這些待更新數據寫入到存儲器中的指定地址,並且,這些寫入到存儲器的指定地址中的數據還可以被更新設備調用;從而,耗材晶片中的程序可以根據實際需要進行寫入和讀取,並不是固定不變的,進而,當需要對耗材晶片中的程序進行更新升級時,無需通過另外發行新版本的耗材晶片就可以實現對程序的更新,因此,本發明實施例提供的技術方案不僅靈活性較高,且避免了對耗材晶片的資源浪費。
實施例三
本發明實施例給出一種程序更新方法,該方法執行於耗材晶片中。
具體的,請參考圖3,其為本發明實施例所提供的程序更新方法的實施例二的流程示意圖,如圖3所示,該方法包括以下步驟:
S301,接收更新設備發送的數據。
S302,識別接收到的數據是否為待更新數據。
S303,若識別出接收到的數據為待更新數據,根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新。
需要說明的是,更新設備可以包括但不限於:印表機或者專門用於更新晶片的第三方更新設備,例如,燒錄儀等;本發明實施例對此不進行特別限定。
具體的,由於更新設備和耗材晶片之間也存在有其他數據進行交互的可能,因此,耗材晶片在接收到更新設備發送的數據之後,需要對這些數據進行識別,以確定這些新接收到的數據是否為待更新數據。本發明實施例對於耗材晶片識別數據的具體實現方式不進行特別限定。
例如,耗材晶片可以判斷接收到的數據中是否包含有指定信息,若識別到接收到的數據中包含有指定信息,就確定接收到的數據為待更新數據;反之,則確定接收到的數據不是待更新數據。
具體的,假設指定信息為更新方式和需要更新的程序代碼,則耗材晶片在接收到更新設備發送的數據後,識別這些數據中是否包含有更新方式和需要更新的程序代碼,若這些數據中同時包含有更新方式和需要更新的程序代碼,則耗材晶片確定這些新接收到的數據為待更新數據;或者,若這些數據中只包含有更新方式和需要更新的程序代碼中的一個,則耗材晶片確定這些新接收到的數據不是待更新數據;或者,若這些數據中沒有包含更新方式和需要更新的程序代碼,則耗材晶片確定這些新接收到的數據不是待更新數據。
或者,又例如,耗材晶片可以判斷接收到的數據中是否攜帶有指定標識,若識別到接收到的數據中攜帶有指定標識,就確定接收到的數據為待更新數據;反之,則確定接收到的數據不是待更新數據。
可以理解的是,以上兩種舉例僅用以說明耗材晶片如何識別接收到的數據是否為待更新數據,在實際應用中,該識別步驟還可以有其他的實現方式,本發明實施例對此不進行特別限定。
需要說明的是,待更新數據可以包括但不限於:標識符、地址信息、更新方式、需要更新的程序代碼、長度和校驗等。
其中,標識符用來指示耗材晶片執行更新程序的動作。例如,可以用第一標識符指示耗材晶片在接收到這個標識符後,直接對耗材晶片中的指定存儲位置存儲的數據進行改寫;或者,又例如,可以用第二標識符指示耗材晶片在接收到這個標識符後,運行耗材晶片內的程序進行尋址,然後對尋址得到的位置存儲的數據進行改寫。
還需要說明的是,耗材晶片接收到的待更新數據需要符合耗材晶片的程序編譯規則,這樣,才能夠在將這些待更新數據寫入指定地址後,這些新寫入的數據能夠與這個指定地址前、後的程序代碼連接上。
本發明實施例對耗材晶片中的程序編譯規則不進行特別限定,例如,程序編譯規則可以包括但不限於:代碼格式、寄存器的使用不能覆蓋、堆棧必須平衡等。在實際應用過程中,耗材晶片的程序編譯規則可以提前預設在更新設備中。
本發明實施例中,考慮到耗材晶片接收到的數據可能經過加密處理,因此,在一個具體的實現過程中,耗材晶片還可以進一步識別接收到的數據是否為加密數據,若識別出接收到的數據為加密數據,則需要對這些數據進行解密處理。或者,若識別出接收到的數據為非加密數據,則不需要對接收到的數據做其他處理。
需要說明的是,耗材晶片可以在接收到數據後,就立即對接收到的數據進行加密識別,之後,再執行S202中識別接收到的數據是否為待更新數據的步驟;或者,耗材晶片也可以在執行S202中識別接收到的數據是否為待更新數據的步驟之後,進行加密識別,之後,再執行S203中的更新步驟。
需要說明的是,待更新數據中的更新方式與地址信息相互關聯,根據更新方式的不同,地址信息可以為空或者不能為空。可以理解的是,地址信息為空是指待更新數據中可以不包括地址信息。
基於以上內容,本發明實施例給出耗材晶片執行S203中更新程序步驟的三種具體實現方式:
第一種,當更新方式為第一方式時,將待更新數據寫入地址信息所指示的地址。
第一方式是指直接利用待更新數據中的地址信息進行程序更新,此時,待更新數據中的地址信息不能為空。因此,耗材晶片進行程序更新時,就直接將待更新數據寫入這個地址信息中所指示的地址即可。
需要說明的是,待更新數據中攜帶的地址信息中所指示的地址在耗材晶片的存儲器中內存儲的信息可以為空。也就是,這個地址信息所指示的地址在耗材晶片中為空白程序段;此時,將待更新程序寫入這個地址,也就是使得耗材晶片具備新寫入程序的功能,或者,可以開通某些程序的可運行性。
或者,待更新數據中攜帶的地址信息中所指示的地址在耗材晶片的存儲器中內存儲的信息也可以為非空。也就是,在耗材晶片的存儲器中,已將在這個地址信息所指示的地址中存儲有其他程序;此時,將待更新程序寫入這個地址,也就是對耗材晶片中已經存在的程序進行更改或重寫,這樣,可以實現對耗材晶片中原來具備的功能的更改,或者,實現對耗材晶片中原來具備的功能的完善。
第二種,當更新方式為第二方式時,將待更新數據寫入指定程序指定的地址。
第二方式為調用耗材晶片中指定程序,此時,由於指定程序中已經指定了地址,待更新數據中地址信息可以為空。這樣,耗材晶片在進行程序更新時,只需要將這些待更新數據寫入這個指定程序指定的地址即可。
需要說明的是,使用該方式實現程序更新時,指定程序指向的地址內存儲的信息可以不為空,此時,將待更新數據寫入這個指定程序的所指定的地址,可以實現對耗材晶片中原來具備的功能的更改,或者,實現對耗材晶片中原來具備的功能的完善。
第三種,當更新方式為第三方式時,根據待更新數據計算得到一個地址,以及將待更新數據寫入計算得到的地址。
第三更新方式為調用耗材晶片中的程序進行尋址。
此時,待更新數據中的地址信息可以為空,
採用這種更新方式時,耗材晶片可以利用指定程序或算法對待更新數據進行數據處理,得到一個目標地址,並將待更新數據寫入這個目標地址即可。
或者,待更新數據中的地址信息可以不為空。
採用這種更新方式時,耗材晶片可以利用指定程序或算法對待更新數據中的地址信息進行數據處理,得到一個目標地址,並將待更新數據寫入這個目標地址即可。
需要說明的是,使用該方式實現程序更新時,耗材晶片自身存儲有用於尋址的程序。並且,可以調用自身程序進行尋址,進而對尋址得到的地址的數據進行更新。而利用程序進行尋址得到的地址可以是非空,或者,該地址也可以為空,本發明實施例對此不進行特別限定。
需要說明的是,當耗材晶片將這些待更新程序寫入指定地址之後,還可以進一步響應於更新設備發送的運行指令,調用這些新寫入的程序,並得到運行結果。耗材晶片可以將運行結果返回給更新設備,以便於更新設備可以根據這個運行結果確定耗材晶片的程序更新過程是否成功,並進一步實現更新設備對耗材晶片是否可用的篩選。
在一個具體的實現過程中,耗材晶片可以接收更新設備發送的運行指令;然後,根據運行指令運行指定程序,得到運行結果;最後,將運行結果返回給更新設備。可以理解的是,指定程序就是耗材晶片根據待更新數據更新得到的程序,這個程序可以是對原有程序的改寫或完善,或者,也可以是一個具備新功能的新程序。
需要說明的是,本發明實施例提供程序更新方法執行於耗材晶片中,耗材晶片可以位於成像盒中。在具體的實現過程中,成像盒可以為墨盒。
本發明實施例的技術方案具有以下有益效果:
本發明實施例中,更新設備可以將獲取到的待更新數據發送給耗材晶片,而耗材晶片在接收到這些數據後,若識別出這些數據為待更新數據,才會根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新;如此,耗材晶片中的程序區採用可讀可寫的存儲器,既可以將這些待更新數據寫入到存儲器中的指定地址,並且,這些寫入到存儲器的指定地址中的數據還可以被更新設備調用;從而,耗材晶片中的程序可以根據實際需要進行寫入和讀取,並不是固定不變的,進而,當需要對耗材晶片中的程序進行更新升級時,無需通過另外發行新版本的耗材晶片就可以實現對程序的更新,因此,本發明實施例提供的技術方案不僅靈活性較高,且避免了對耗材晶片的資源浪費。
實施例四
基於上述實施例一所提供的程序更新方法,本發明實施例進一步給出實現上述方法實施例中各步驟及方法的裝置實施例。
請參考圖4,其為本發明實施例所提供的程序更新系統的功能方塊圖。如圖4所示,該系統包括:更新設備41和耗材晶片42。
具體的,更新設備,用於獲取待更新數據;
更新設備41,還用於將待更新數據發送給耗材晶片;
耗材晶片42,用於接收更新設備41發送的數據;
耗材晶片42,還用於識別接收到的數據是否為待更新數據;
耗材晶片42,還用於若識別出接收到的數據為待更新數據,根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新。
由於本實施例中的各單元能夠執行圖1所示的方法,本實施例未詳細描述的部分,可參考對圖1的相關說明。
本發明實施例的技術方案具有以下有益效果:
本發明實施例中,更新設備可以將獲取到的待更新數據發送給耗材晶片,而耗材晶片在接收到這些數據後,若識別出這些數據為待更新數據,才會根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新;如此,耗材晶片中的程序區採用可讀可寫的存儲器,既可以將這些待更新數據寫入到存儲器中的指定地址,並且,這些寫入到存儲器的指定地址中的數據還可以被更新設備調用;從而,耗材晶片中的程序可以根據實際需要進行寫入和讀取,並不是固定不變的,進而,當需要對耗材晶片中的程序進行更新升級時,無需通過另外發行新版本的耗材晶片就可以實現對程序的更新,因此,本發明實施例提供的技術方案不僅靈活性較高,且避免了對耗材晶片的資源浪費。
實施例五
基於上述實施例二所提供的程序更新方法,本發明實施例進一步給出實現上述方法實施例中各步驟及方法的裝置實施例。
請參考圖5,其為本發明實施例所提供的程序更新裝置的實施例一的功能方塊圖。
具體的,如圖5所示,該裝置應用於更新設備中,該裝置包括:
獲取單元51,用於獲取待更新數據;
發送單元52,用於將待更新數據發送給耗材晶片。
具體的,本發明實施例中,待更新數據包括:標識符、地址信息、更新方式、需要更新的程序代碼、長度和校驗中的至少一個。
在一個具體的實現過程中,該裝置還包括:
加密單元53,用於將待更新數據進行加密;
發送單元52,還用於將加密後的待更新數據發送給耗材晶片。
在另一個具體的實現過程中,該裝置還包括:
發送單元52,還用於發送運行指令給耗材晶片,以使得耗材晶片根據運行指令運行指定程序,並返回運行結果;
接收單元54,用於接收運行結果;
確定單元55,用於根據運行結果,確定耗材晶片是否更新成功。
由於本實施例中的各單元能夠執行圖2所示的方法,本實施例未詳細描述的部分,可參考對圖2的相關說明。
本發明實施例的技術方案具有以下有益效果:
本發明實施例中,更新設備可以將獲取到的待更新數據發送給耗材晶片,而耗材晶片在接收到這些數據後,若識別出這些數據為待更新數據,才會根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新;如此,耗材晶片中的程序區採用可讀可寫的存儲器,既可以將這些待更新數據寫入到存儲器中的指定地址,並且,這些寫入到存儲器的指定地址中的數據還可以被更新設備調用;從而,耗材晶片中的程序可以根據實際需要進行寫入和讀取,並不是固定不變的,進而,當需要對耗材晶片中的程序進行更新升級時,無需通過另外發行新版本的耗材晶片就可以實現對程序的更新,因此,本發明實施例提供的技術方案不僅靈活性較高,且避免了對耗材晶片的資源浪費。
實施例六
基於上述實施例三所提供的程序更新方法,本發明實施例進一步給出實現上述方法實施例中各步驟及方法的裝置實施例。
請參考圖6,其為本發明實施例所提供的程序更新裝置的實施例二的功能方塊圖。
具體的,如圖6所示,該裝置位於耗材晶片中,該裝置包括:
接收單元61,用於接收更新設備發送的數據;
第一識別單元62,用於識別接收到的數據是否為待更新數據;
更新單元63,用於若識別出接收到的數據為待更新數據,根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新。
具體的,本發明實施例中,待更新數據包括:標識符、地址信息、更新方式、需要更新的程序代碼、長度和校驗中的至少一個。
在一個具體的實現過程中,更新單元63,具體用於:
當更新方式為第一方式時,將待更新數據寫入地址信息所指示的地址;或者,
當更新方式為第二方式時,將待更新數據寫入指定程序指定的地址;或者,
當更新方式為第三方式時,根據待更新數據計算得到一個地址,以及將待更新數據寫入計算得到的地址。
在另一個具體的實現過程中,該裝置還包括:
第二識別單元64,用於根據待更新數據的更新方式,將待更新數據寫入指定地址之前,識別接收到的數據是否為加密數據;
解密單元65,用於當接收到的數據為加密數據時,解密這些數據。
具體的,該裝置還包括:
接收單元61,還用於接收更新設備發送的運行指令;
運行單元66,用於根據運行指令運行指定程序,得到運行結果;
返回單元66,用於將運行結果返回給更新設備。
由於本實施例中的各單元能夠執行圖3所示的方法,本實施例未詳細描述的部分,可參考對圖3的相關說明。
本發明實施例的技術方案具有以下有益效果:
本發明實施例中,更新設備可以將獲取到的待更新數據發送給耗材晶片,而耗材晶片在接收到這些數據後,若識別出這些數據為待更新數據,才會根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新;如此,耗材晶片中的程序區採用可讀可寫的存儲器,既可以將這些待更新數據寫入到存儲器中的指定地址,並且,這些寫入到存儲器的指定地址中的數據還可以被更新設備調用;從而,耗材晶片中的程序可以根據實際需要進行寫入和讀取,並不是固定不變的,進而,當需要對耗材晶片中的程序進行更新升級時,無需通過另外發行新版本的耗材晶片就可以實現對程序的更新,因此,本發明實施例提供的技術方案不僅靈活性較高,且避免了對耗材晶片的資源浪費。
實施例七
基於上述實施例三所提供的程序更新方法和上述實施例六所提供的程序更新裝置,本發明實施例給出一種成像盒。
請參考圖7,其為本發明實施例所提供的成像盒的功能方塊圖。如圖7所示,該成像盒包括耗材晶片;該耗材晶片包括:如圖6所示的程序更新裝置。
本實施例未詳細描述的部分,可參考對圖3和圖6的相關說明。
本發明實施例的技術方案具有以下有益效果:
本發明實施例中,更新設備可以將獲取到的待更新數據發送給耗材晶片,而耗材晶片在接收到這些數據後,若識別出這些數據為待更新數據,才會根據待更新數據的更新方式,將待更新數據寫入指定地址,以實現對指定程序的更新;如此,耗材晶片中的程序區採用可讀可寫的存儲器,既可以將這些待更新數據寫入到存儲器中的指定地址,並且,這些寫入到存儲器的指定地址中的數據還可以被更新設備調用;從而,耗材晶片中的程序可以根據實際需要進行寫入和讀取,並不是固定不變的,進而,當需要對耗材晶片中的程序進行更新升級時,無需通過另外發行新版本的耗材晶片就可以實現對程序的更新,因此,本發明實施例提供的技術方案不僅靈活性較高,且避免了對耗材晶片的資源浪費。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本發明所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如,多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用硬體加軟體功能單元的形式實現。
上述以軟體功能單元的形式實現的集成的單元,可以存儲在一個計算機可讀取存儲介質中。上述軟體功能單元存儲在一個存儲介質中,包括若干指令用以使得一臺計算機裝置(可以是個人計算機,伺服器,或者網絡裝置等)或處理器(Processor)執行本發明各個實施例所述方法的部分步驟。而前述的存儲介質包括:U盤、移動硬碟、只讀存儲器(Read-Only Memory,ROM)、隨機存取存儲器(Random Access Memory,RAM)、磁碟或者光碟等各種可以存儲程序代碼的介質。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。