专利名称:打印机固件的修改方法
技术领域:
本发明涉及打印领域,尤其是涉及一种打印机固件的修改方法。
背景技术:
打印机作为常见的办公设备,为现代化办公提供了极大的方便。现有的打印机分 为喷墨打印机以及激光打印机,喷墨打印机使用容纳有墨水的墨盒作为耗材容器向纸张喷 射墨水,以在纸张上形成需要打印的文字或图案;激光打印机则使用容纳有碳粉的碳粉盒 作为耗材容器在介质上形成需要打印的文字或图案。参见图1,现有的墨盒具有一个壳体11,壳体11围成腔体15,腔体15内容纳有墨 水。壳体11的下方设有出墨口 14,腔体15内的墨水可经过出墨口 14流出。在壳体11外 壁上安装有一块耗材芯片13,耗材芯片的结构如图2所示,耗材芯片13具有基板16,在基 板16上设有多个电触点17,电触点17作为通讯单元与喷墨打印机上的电触点连接,用于 传送信息。基板16上还设有一个电子模块18,电子模块18具有与电触点17电连接的存 储器,存储有与墨盒相关的信息,包括墨盒型号、适用的喷墨打印机型号、墨水颜色、腔体15 内耗材余量、墨盒的打印时间等。参见图3,现有碳粉盒具有壳体21,壳体21围成容纳碳粉的腔体,壳体的外壁上设 有一个芯片安装位22,耗材芯片23安装于芯片安装位22上。与墨盒的耗材芯片类似,碳粉 盒的耗材芯片23也具有基板,基板上设有作为通讯单元的电触点24,用于与激光打印机进 行数据交换。并且,基板的另一侧设有与电触点24电连接的电子模块,存储有碳粉盒相关 的数据,包括腔体内耗材余量的数据等。现有耗材容器所容纳的耗材量很少,不少用户在耗材容器所容纳的耗材使用完毕 后重新灌装耗材并继续使用。但由于耗材芯片记录耗材余量数据为零,因此需要对耗材芯 片进行复位处理,即将耗材余量数据恢复至一个不为零的数据,以便打印机继续执行打印工作。另一方面,现有的喷墨打印机或激光打印机均设有存储器,存储器内大多存储有 固化软件,即固件。这些固件包含的程序用于实现打印机的多种应用,包括获取计算机传送 的图像、控制打印进程、访问耗材芯片等。随着打印机实现功能的不断改进,打印机生产商 需要对打印机的固件进行升级处理。常见的升级方法有两种一种是打印机生产厂家在互联网上发布固件升级数据 包,用户从互联网上下载该固件升级数据包并写入打印机中;另一种方法是在耗材容器所 附带的耗材芯片上写入固件升级数据,当耗材容器安装到打印机后,打印机将自动检测耗 材芯片是否存储有固件升级数据,若存储有,则将耗材芯片所存储的固件升级数据写入打 印机的存储器中,实现固件升级。但是,固件升级后的打印机往往对耗材芯片的使用造成限制,因为升级后的固件 数据往往写入与耗材数据相关的指令,尤其是与耗材余量数据相关的指令,如禁止耗材余 量数据复位的指令或者将耗材余量数据与一阈值进行比较的指令等,造成耗材芯片无法复位,导致耗材容器及耗材芯片只能使用一次。此外,升级后的固件数据写入检测耗材容器生产时间、耗材容器的生产厂家等与 耗材数据相关的指令,这些指令也会对耗材容器的使用造成限制,导致耗材容器无法重复 利用。这样,无疑增加用户使用耗材容器的成本,也限制了耗材芯片的重复利用,造成资源 浪费,也不利于环境保护。因此,人们希望对打印机的固件进行修改,从而使避免打印机固件更新后对耗材 容器使用的限制。现有的修改方式是从互联网上下载固件升级数据包,或者使用编程器读 取打印机的固件数据,并将获取的固件数据进行反汇编处理,获取固件数据对应的机器语 言代码,对获取的机器语言代码中与耗材相关的指令进行修改,如删除禁止耗材余量数据 复位的指令、添加耗材余量数据自动复位的指令等,并将修改后的机器语言代码下载到打 印机中的存储器中。打印机接收机器语言代码后,自动生成相应的固件数据,从而实现对打 印机固件数据的修改。但是,上述方法是使用计算机的软件程序对机器语言代码进行修改,并需要使用 计算机与打印机连接,通过在计算机上运行程序将修改后的机器语言代码下载至打印机 中。由于现在的计算机操作系统平台较多,如WIND0WS98、2000、XP、VISTA、LINUX等,开发 人员需要针对不同的操作系统对机器语言代码进行测试、调整,测试周期长,测试成本高, 不利于打印机固件的修改。
发明内容
本发明的主要目的是提供一种开发、测试成本较低的打印机固件修改方法。为实现上述的主要目的,本发明提供的打印机固件修改方法包括获取打印机固件 数据,对固件数据进行反汇编处理,获得固件数据对应的机器语言代码,对机器语言代码中 与耗材数据相关的指令进行修改,并且,将修改后的机器语言代码封装成应用程序,并将应 用程序添加到最小操作系统中,将打印机与计算机连接,在计算机上运行最小操作系统,并 安装应用程序。由上述方案可见,打印机固件修改时,开发人员使用最小操作系统开发软件自行 开发最小操作系统,并将修改后的机器语言代码封装成应用程序添加至最小操作系统中, 用户在计算机上直接运行操作系统即可安装应用程序,从而对打印机固件进行修改。由于 打印机固件修改的应用程序添加在最小操作系统中,因此开发人员只需要在最小操作系统 中对应用程序进行测试即可,开发与测试的周期短,成本也大大降低。一个优选的方案是,制作最小操作系统后,将最小操作系统存储至便携式存储设 备中。这样,可方便将最小操作系统安装到多台计算机中。进一步的方案是,制作最小操作系统时,在最小操作系统中写入批处理命令及自 运行应用程序的命令。由此可见,运行最小操作系统后,计算机将自动执行应用程序的安装操作,从而自 动实现打印机的固件修改,固件修改过程简单方便,且操作方便。
图1是现有一种墨盒的结构示意图。
图2是现有墨盒芯片的结构放大示意图。图3是现有一种碳粉盒的结构分解图。
图4是本发明实施例的流程图。以下结合附图及实施例对本发明作进一步说明。
具体实施例方式本发明的方法可以应用于激光打印机或喷墨打印机的固件修改,下面以应用于激 光打印机为实施例对本发明进行说明。参见图4,应用本实施例对激光打印机的固件进行修改,首先获取激光打印机的原 始固件数据,即执行步骤Si。获取原始的固件数据可通过两种不同的方法实现,一种是在互 联网上下载打印机生产厂家公布的固件升级数据包,另一种方法是使用编程器将打印机存 储器内所存储的固件数据读取出来,第二种方法主要用于互联网上未公布打印机固件升级 数据包时。获取打印机的固件数据后,执行步骤S2,对获取的固件数据进行反汇编处理,从而 获得原始固件数据所对应的机器语言代码。然后,执行步骤S3,对获得的机器语言代码中与 耗材余量数据相关的指令进行修改。对机器语言代码进行修改前,应该分辨每一机器语言 代码所表示的意思,并根据实际使用需要对其进行修改。例如,针对固件数据包含的程序禁 止耗材芯片对耗材余量数据进行复位,可将禁止耗材余量数据复位的指令删除;或者,针对 固件数据包含的程序实时判断耗材芯片所记录的耗材余量数据是否低于某一阈值,可将判 断耗材余量数据是否低于某一阈值的指令删除或者禁止该指令执行。当然,对机器语言代码的修改也可以是增加指令,如添加将耗材余量数据复位的 指令,或者在禁止耗材数据复位指令前增加跳转指令,让打印机在执行禁止耗材余量数据 复位指令前跳转至其他指令,不执行禁止耗材余量数据复位的指令,对指令的删除与增加, 可根据实际使用情况确定。此外,与耗材余量数据相关的指令不限于禁止耗材余量数据复位的指令与将耗材 余量数据与阈值进行比较的指令,还可以是实时向耗材芯片写入耗材余量数据的指令、读 取耗材芯片中耗材余量数据的指令等。对机器语言代码进行修改后,将其封装成应用程序,即设计显示页面、设置对话框 等,并设计运行应用程序的链接。然后,执行步骤S4,制作最小操作系统。本实施例的最小操作系统为WIND0WSPE操 作系统,制作该操作系统时,可使用UltraISO软件进行制作,在操作系统中写入批处理指 令。并且,在WIND0WSPE操作系统添加封装好的应用程序,并在WIND0WSPE操作系统中写入 自动运行应用程序的指令,使得计算机运行WIND0WSPE操作系统后自动对打印机固件进行 修改。当然,制作完毕WIND0WSPE操作系统后,开发人员需要对WIND0WSPE操作系统以及 应用程序进行测试,检测WIND0WSPE操作系统能否正常启动,应用程序是否实现打印机固 件修改等目的。开发人员测试通过后,执行步骤S5,将添加有应用程序的WIND0WSPE操作系统存 储至便携式存储器中,如光盘、U盘或移动硬盘等,便于WIND0WSPE操作系统的携带与安装。
5
最后,用户需要修改打印机固件时,执行步骤S6,将打印机与计算机连接,并在计 算机上运行WIND0WSPE操作系统,也就是将存储有WIND0WSPE操作系统的光盘、U盘或移动 硬盘连接至计算机,并设置计算机由光盘、U盘或移动硬盘启动。WIND0WSPE操作系统启动运行后,将自动运行应用程序,即将修改后的机器语言代 码下载到打印机的存储器中,打印机接收到机器语言代码后生成新的固件数据,从而实现 对打印机固件的修改。由上述方案可见,通过对打印机固件数据的修改,可删除禁止耗材余量数据复位 等功能,耗材芯片即可实现耗材余量复位,有利于耗材容器及耗材芯片的重复利用,从而降 低用户使用耗材的成本,也有利于环境保护。并且,修改后的机器语言代码是被封装成应用程序并添加至WIND0WSPE操作 系统中,可随计算机运行WIND0WSPE操作系统而一并运行。这样,开发人员只需要针对 WIND0WSPE操作系统进行测试即可,无需在多个操作系统平台上进行反复调试,缩短测试周 期,也降低固件修改的成本。此外,本实施例中,对机器语言代码的修改不限于与耗材余量相关的数据,还可以 是与耗材容器自身相关的数据,修改可以是删除检测耗材容器生产时间的指令、删除检测 耗材容器生产厂家的指令等,这些与耗材数据相关指令的修改也应该包含在本发明的保护 范围内。当然,上述实施例仅是本发明较佳的实施方案,实际应用时还可以有更多的变化, 例如,可以使用DOS操作系统或LINUX操作系统替代WIND0WSPE操作系统作为最小操作系 统;或者,不在最小操作系统中设置自动执行应用程序的指令,而是设置对话框,由用户自 行选择是否运行应用程序等,这些改变同样可以实现本发明的目的。最后需要强调的是,本发明不限于上述实施方式,如删除指令功能的改变、便携式 存储设备选择的改变等变化也应该包括在本发明权利要求的保护范围内。
权利要求
打印机固件的修改方法,包括获取打印机固件数据;对所述固件数据进行反汇编处理,获得所述固件数据对应的机器语言代码,对所述机器语言代码中与耗材数据相关的指令进行修改;其特征在于将修改后的机器语言代码封装成应用程序,并将所述应用程序添加到最小操作系统中;将打印机与计算机连接,在所述计算机上运行所述最小操作系统,并安装所述应用程序。
2.根据权利要求1所述的打印机固件修改方法,其特征在于所述最小操作系统为DOS操作系统或LINUX操作系统或WINPE操作系统。
3.根据权利要求1或2所述的打印机固件修改方法,其特征在于 所述最小操作系统存储在便携式存储设备中。
4.根据权利要求1或2所述的打印机固件修改方法,其特征在于制作所述最小操作系统时,在所述最小操作系统中写入批处理命令及自运行所述应用 程序的命令。
5.根据权利要求1或2所述的打印机固件修改方法,其特征在于 所述耗材数据相关的指令包括耗材余量数据相关的指令。
6.根据权利要求1或2所述的打印机固件修改方法,其特征在于 所述获取打印机固件数据是自互联网下载打印机固件数据。
7.根据权利要求1或2所述的打印机固件修改方法,其特征在于所述获取打印机固件数据是用编程器将打印机存储器内所存储的所述固件数据读出。
全文摘要
本发明提供一种打印机固件的修改方法,包括获取打印机的固件数据,对固件数据进行反汇编处理,获得固件数据对应的机器语言代码,对机器语言代码中与耗材余量相关的指令进行修改,并且,将修改后的机器语言代码封装成应用程序,并将应用程序添加到最小操作系统中,将打印机与计算机连接,在计算机上运行最小操作系统,并安装应用程序。本发明提供的打印机固件修复方法的测试周期短,测试成本低,有利于打印机固件修改方法的推广应用。
文档编号G03G15/08GK101973165SQ201010529369
公开日2011年2月16日 申请日期2010年11月2日 优先权日2010年11月2日
发明者林东宁 申请人:珠海天威技术开发有限公司