本发明涉及通讯技术领域,尤其涉及一种程序更新方法、装置、系统和成像盒。
背景技术:
目前,耗材芯片的程序区一般是烧录在固化的存储器中。当耗材芯片出厂的时候,在这个固化的存储器中写入程序;之后,在耗材芯片的使用过程中,这个固化的存储器中不能进行读写,耗材芯片的程序区的程序是固定不变的。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有技术中,当需要对耗材芯片中的程序进行更新升级时,无法对耗材芯片中的程序进行更新,只能通过另外发行一个新版本耗材芯片的形式实现程序更新,不仅灵活性较差,还会造成资源的浪费。
技术实现要素:
有鉴于此,本发明实施例提供了一种程序更新方法、装置、系统和成像盒,用以解决现有技术中耗材芯片的程序区不可读写造成的耗材芯片的灵活性较差的问题和资源浪费的问题。
第一方面,本发明实施例提供了一种程序更新方法,包括:
更新设备获取待更新数据;
所述更新设备将所述待更新数据发送给耗材芯片;
所述耗材芯片接收所述更新设备发送的数据;
所述耗材芯片识别接收到的所述数据是否为待更新数据;
若识别出接收到的所述数据为待更新数据,所述耗材芯片根据所述待更新数据的更新方式,将所述待更新数据写入指定地址,以实现对指定程序的更新。
第二方面,本发明实施例提供了一种程序更新方法,执行于更新设备中,所述方法包括:
获取待更新数据;
将所述待更新数据发送给耗材芯片。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述待更新数据包括:标识符、地址信息、更新方式、需要更新的程序代码、长度和校验中的至少一个。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,将所述待更新数据发送给耗材芯片,包括:
将所述待更新数据进行加密;
将加密后的所述待更新数据发送给所述耗材芯片。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
发送运行指令给所述耗材芯片,以使得所述耗材芯片根据所述运行指令运行所述指定程序,并返回运行结果;
接收所述运行结果;
根据所述运行结果,确定所述耗材芯片是否更新成功。
第三方面,本发明实施例提供了一种程序更新方法,执行于耗材芯片中,所述方法包括:
接收更新设备发送的数据;
识别接收到的所述数据是否为待更新数据;
若识别出接收到的所述数据为待更新数据,根据所述待更新数据的更新方式,将所述待更新数据写入指定地址,以实现对指定程序的更新。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述待更新数据包括:标识符、地址信息、更新方式、需要更新的程序代码、长度和校验中的至少一个。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,根据所述待更新数据的更新方式,将所述待更新数据写入指定地址,包括:
当所述更新方式为第一方式时,将所述待更新数据写入所述地址信息所指示的地址;或者,
当所述更新方式为第二方式时,将所述待更新数据写入所述指定程序指定的地址;或者,
当所述更新方式为第三方式时,根据所述待更新数据计算得到一个地址,以及将待更新数据写入计算得到的地址。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,根据所述待更新数据的更新方式,将所述待更新数据写入指定地址之前,所述方法还包括:
识别接收到的所述数据是否为加密数据;
当接收到的所述数据为加密数据时,解密所述数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
接收所述更新设备发送的运行指令;
根据所述运行指令运行所述指定程序,得到运行结果;
将所述运行结果返回给所述更新设备。
第四方面,本发明实施例提供了一种程序更新系统,包括:
更新设备,用于获取待更新数据;
所述更新设备,还用于将所述待更新数据发送给耗材芯片;
所述耗材芯片,用于接收所述更新设备发送的数据;
所述耗材芯片,还用于识别接收到的所述数据是否为待更新数据;
所述耗材芯片,还用于若识别出接收到的所述数据为待更新数据,根据所述待更新数据的更新方式,将所述待更新数据写入指定地址,以实现对指定程序的更新。
第五方面,本发明实施例提供了一种程序更新装置,位于更新设备中,所述装置包括:
获取单元,用于获取待更新数据;
发送单元,用于将所述待更新数据发送给耗材芯片。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述待更新数据包括:标识符、地址信息、更新方式、需要更新的程序代码、长度和校验中的至少一个。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
加密单元,用于将所述待更新数据进行加密;
所述发送单元,还用于将加密后的所述待更新数据发送给所述耗材芯片。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
所述发送单元,还用于发送运行指令给所述耗材芯片,以使得所述耗材芯片根据所述运行指令运行所述指定程序,并返回运行结果;
接收单元,用于接收所述运行结果;
确定单元,用于根据所述运行结果,确定所述耗材芯片是否更新成功。
第六方面,本发明实施例提供了一种程序更新装置,位于耗材芯片中,所述装置包括:
接收单元,用于接收更新设备发送的数据;
第一识别单元,用于识别接收到的所述数据是否为待更新数据;
更新单元,用于若识别出接收到的所述数据为待更新数据,根据所述待更新数据的更新方式,将所述待更新数据写入指定地址,以实现对指定程序的更新。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述待更新数据包括:标识符、地址信息、更新方式、需要更新的程序代码、长度和校验中的至少一个。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述更新单元,具体用于:
当所述更新方式为第一方式时,将所述待更新数据写入所述地址信息所指示的地址;或者,
当所述更新方式为第二方式时,将所述待更新数据写入所述指定程序指定的地址;或者,
当所述更新方式为第三方式时,根据所述待更新数据计算得到一个地址,以及将待更新数据写入计算得到的地址。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
第二识别单元,用于根据所述待更新数据的更新方式,将所述待更新数据写入指定地址之前,识别接收到的所述数据是否为加密数据;
解密单元,用于当接收到的所述数据为加密数据时,解密所述数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
所述接收单元,还用于接收所述更新设备发送的运行指令;
运行单元,用于根据所述运行指令运行所述指定程序,得到运行结果;
返回单元,用于将所述运行结果返回给所述更新设备。
第七方面,本发明实施例提供了一种成像盒,包括:耗材芯片;
该耗材芯片包括上述的第二种程序更新装置。
上述技术方案中的一个技术方案具有如下有益效果:
本发明实施例中,更新设备可以将获取到的待更新数据发送给耗材芯片,而耗材芯片在接收到这些数据后,若识别出这些数据为待更新数据,才会根据待更新数据的更新方式,将待更新数据写入指定地址,以实现对指定程序的更新;如此,耗材芯片中的程序区采用可读可写的存储器,既可以将这些待更新数据写入到存储器中的指定地址,并且,这些写入到存储器的指定地址中的数据还可以被更新设备调用;从而,耗材芯片中的程序可以根据实际需要进行写入和读取,并不是固定不变的,进而,当需要对耗材芯片中的程序进行更新升级时,无需通过另外发行新版本的耗材芯片就可以实现对程序的更新,因此,本发明实施例提供的技术方案不仅灵活性较高,且避免了对耗材芯片的资源浪费。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图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)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。