CN101973165B - 打印机固件的修改方法 - Google Patents
打印机固件的修改方法 Download PDFInfo
- Publication number
- CN101973165B CN101973165B CN2010105293693A CN201010529369A CN101973165B CN 101973165 B CN101973165 B CN 101973165B CN 2010105293693 A CN2010105293693 A CN 2010105293693A CN 201010529369 A CN201010529369 A CN 201010529369A CN 101973165 B CN101973165 B CN 101973165B
- Authority
- CN
- China
- Prior art keywords
- printer
- firmware
- data
- operating system
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本发明提供一种打印机固件的修改方法,包括获取打印机的固件数据,对固件数据进行反汇编处理,获得固件数据对应的机器语言代码,对机器语言代码中与耗材余量相关的指令进行修改,并且,将修改后的机器语言代码封装成应用程序,并将应用程序添加到最小操作系统中,将打印机与计算机连接,在计算机上运行最小操作系统,并安装应用程序。本发明提供的打印机固件修复方法的测试周期短,测试成本低,有利于打印机固件修改方法的推广应用。
Description
技术领域
本发明涉及打印领域,尤其是涉及一种打印机固件的修改方法。
背景技术
打印机作为常见的办公设备,为现代化办公提供了极大的方便。现有的打印机分为喷墨打印机以及激光打印机,喷墨打印机使用容纳有墨水的墨盒作为耗材容器向纸张喷射墨水,以在纸张上形成需要打印的文字或图案;激光打印机则使用容纳有碳粉的碳粉盒作为耗材容器在介质上形成需要打印的文字或图案。
参见图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电连接的电子模块,存储有碳粉盒相关的数据,包括腔体内耗材余量的数据等。
现有耗材容器所容纳的耗材量很少,不少用户在耗材容器所容纳的耗材使用完毕后重新灌装耗材并继续使用。但由于耗材芯片记录耗材余量数据为零,因此需要对耗材芯片进行复位处理,即将耗材余量数据恢复至一个不为零的数据,以便打印机继续执行打印工作。
另一方面,现有的喷墨打印机或激光打印机均设有存储器,存储器内大多存储有固化软件,即固件。这些固件包含的程序用于实现打印机的多种应用,包括获取计算机传送的图像、控制打印进程、访问耗材芯片等。随着打印机实现功能的不断改进,打印机生产商需要对打印机的固件进行升级处理。
常见的升级方法有两种:一种是打印机生产厂家在互联网上发布固件升级数据包,用户从互联网上下载该固件升级数据包并写入打印机中;另一种方法是在耗材容器所附带的耗材芯片上写入固件升级数据,当耗材容器安装到打印机后,打印机将自动检测耗材芯片是否存储有固件升级数据,若存储有,则将耗材芯片所存储的固件升级数据写入打印机的存储器中,实现固件升级。
但是,固件升级后的打印机往往对耗材芯片的使用造成限制,因为升级后的固件数据往往写入与耗材数据相关的指令,尤其是与耗材余量数据相关的指令,如禁止耗材余量数据复位的指令或者将耗材余量数据与一阈值进行比较的指令等,造成耗材芯片无法复位,导致耗材容器及耗材芯片只能使用一次。
此外,升级后的固件数据写入检测耗材容器生产时间、耗材容器的生产厂家等与耗材数据相关的指令,这些指令也会对耗材容器的使用造成限制,导致耗材容器无法重复利用。这样,无疑增加用户使用耗材容器的成本,也限制了耗材芯片的重复利用,造成资源浪费,也不利于环境保护。
因此,人们希望对打印机的固件进行修改,从而使避免打印机固件更新后对耗材容器使用的限制。现有的修改方式是从互联网上下载固件升级数据包,或者使用编程器读取打印机的固件数据,并将获取的固件数据进行反汇编处理,获取固件数据对应的机器语言代码,对获取的机器语言代码中与耗材相关的指令进行修改,如删除禁止耗材余量数据复位的指令、添加耗材余量数据自动复位的指令等,并将修改后的机器语言代码下载到打印机中的存储器中。打印机接收机器语言代码后,自动生成相应的固件数据,从而实现对打印机固件数据的修改。
但是,上述方法是使用计算机的软件程序对机器语言代码进行修改,并需要使用计算机与打印机连接,通过在计算机上运行程序将修改后的机器语言代码下载至打印机中。由于现在的计算机操作系统平台较多,如WINDOWS98、2000、XP、VISTA、LINUX等,开发人员需要针对不同的操作系统对机器语言代码进行测试、调整,测试周期长,测试成本高,不利于打印机固件的修改。
发明内容
本发明的主要目的是提供一种开发、测试成本较低的打印机固件修改方法。
为实现上述的主要目的,本发明提供的打印机固件修改方法包括获取打印机固件数据,对固件数据进行反汇编处理,获得固件数据对应的机器语言代码,对机器语言代码中与耗材数据相关的指令进行修改,并且,将修改后的机器语言代码封装成应用程序,并将应用程序添加到最小操作系统中,将打印机与计算机连接,在计算机上运行最小操作系统,并安装应用程序。
由上述方案可见,打印机固件修改时,开发人员使用最小操作系统开发软件自行开发最小操作系统,并将修改后的机器语言代码封装成应用程序添加至最小操作系统中,用户在计算机上直接运行操作系统即可安装应用程序,从而对打印机固件进行修改。由于打印机固件修改的应用程序添加在最小操作系统中,因此开发人员只需要在最小操作系统中对应用程序进行测试即可,开发与测试的周期短,成本也大大降低。
一个优选的方案是,制作最小操作系统后,将最小操作系统存储至便携式存储设备中。这样,可方便将最小操作系统安装到多台计算机中。
进一步的方案是,制作最小操作系统时,在最小操作系统中写入批处理命令及自运行应用程序的命令。
由此可见,运行最小操作系统后,计算机将自动执行应用程序的安装操作,从而自动实现打印机的固件修改,固件修改过程简单方便,且操作方便。
附图说明
图1是现有一种墨盒的结构示意图。
图2是现有墨盒芯片的结构放大示意图。
图3是现有一种碳粉盒的结构分解图。
图4是本发明实施例的流程图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明的方法可以应用于激光打印机或喷墨打印机的固件修改,下面以应用于激光打印机为实施例对本发明进行说明。
参见图4,应用本实施例对激光打印机的固件进行修改,首先获取激光打印机的原始固件数据,即执行步骤S1。获取原始的固件数据可通过两种不同的方法实现,一种是在互联网上下载打印机生产厂家公布的固件升级数据包,另一种方法是使用编程器将打印机存储器内所存储的固件数据读取出来,第二种方法主要用于互联网上未公布打印机固件升级数据包时。
获取打印机的固件数据后,执行步骤S2,对获取的固件数据进行反汇编处理,从而获得原始固件数据所对应的机器语言代码。然后,执行步骤S3,对获得的机器语言代码中与耗材余量数据相关的指令进行修改。对机器语言代码进行修改前,应该分辨每一机器语言代码所表示的意思,并根据实际使用需要对其进行修改。例如,针对固件数据包含的程序禁止耗材芯片对耗材余量数据进行复位,可将禁止耗材余量数据复位的指令删除;或者,针对固件数据包含的程序实时判断耗材芯片所记录的耗材余量数据是否低于某一阈值,可将判断耗材余量数据是否低于某一阈值的指令删除或者禁止该指令执行。
当然,对机器语言代码的修改也可以是增加指令,如添加将耗材余量数据复位的指令,或者在禁止耗材数据复位指令前增加跳转指令,让打印机在执行禁止耗材余量数据复位指令前跳转至其他指令,不执行禁止耗材余量数据复位的指令,对指令的删除与增加,可根据实际使用情况确定。
此外,与耗材余量数据相关的指令不限于禁止耗材余量数据复位的指令与将耗材余量数据与阈值进行比较的指令,还可以是实时向耗材芯片写入耗材余量数据的指令、读取耗材芯片中耗材余量数据的指令等。
对机器语言代码进行修改后,将其封装成应用程序,即设计显示页面、设置对话框等,并设计运行应用程序的链接。
然后,执行步骤S4,制作最小操作系统。本实施例的最小操作系统为WINDOWSPE操作系统,制作该操作系统时,可使用UltraISO软件进行制作,在操作系统中写入批处理指令。并且,在WINDOWSPE操作系统添加封装好的应用程序,并在WINDOWSPE操作系统中写入自动运行应用程序的指令,使得计算机运行WINDOWSPE操作系统后自动对打印机固件进行修改。
当然,制作完毕WINDOWSPE操作系统后,开发人员需要对WINDOWSPE操作系统以及应用程序进行测试,检测WINDOWSPE操作系统能否正常启动,应用程序是否实现打印机固件修改等目的。
开发人员测试通过后,执行步骤S5,将添加有应用程序的WINDOWSPE操作系统存储至便携式存储器中,如光盘、U盘或移动硬盘等,便于WINDOWSPE操作系统的携带与安装。
最后,用户需要修改打印机固件时,执行步骤S6,将打印机与计算机连接,并在计算机上运行WINDOWSPE操作系统,也就是将存储有WINDOWSPE操作系统的光盘、U盘或移动硬盘连接至计算机,并设置计算机由光盘、U盘或移动硬盘启动。
WINDOWSPE操作系统启动运行后,将自动运行应用程序,即将修改后的机器语言代码下载到打印机的存储器中,打印机接收到机器语言代码后生成新的固件数据,从而实现对打印机固件的修改。
由上述方案可见,通过对打印机固件数据的修改,可删除禁止耗材余量数据复位等功能,耗材芯片即可实现耗材余量复位,有利于耗材容器及耗材芯片的重复利用,从而降低用户使用耗材的成本,也有利于环境保护。
并且,修改后的机器语言代码是被封装成应用程序并添加至WINDOWSPE操作系统中,可随计算机运行WINDOWSPE操作系统而一并运行。这样,开发人员只需要针对WINDOWSPE操作系统进行测试即可,无需在多个操作系统平台上进行反复调试,缩短测试周期,也降低固件修改的成本。
此外,本实施例中,对机器语言代码的修改不限于与耗材余量相关的数据,还可以是与耗材容器自身相关的数据,修改可以是删除检测耗材容器生产时间的指令、删除检测耗材容器生产厂家的指令等,这些与耗材数据相关指令的修改也应该包含在本发明的保护范围内。
当然,上述实施例仅是本发明较佳的实施方案,实际应用时还可以有更多的变化,例如,可以使用DOS操作系统或LINUX操作系统替代WINDOWSPE操作系统作为最小操作系统;或者,不在最小操作系统中设置自动执行应用程序的指令,而是设置对话框,由用户自行选择是否运行应用程序等,这些改变同样可以实现本发明的目的。
最后需要强调的是,本发明不限于上述实施方式,如删除指令功能的改变、便携式存储设备选择的改变等变化也应该包括在本发明权利要求的保护范围内。
Claims (7)
1.打印机固件的修改方法,包括
获取打印机固件数据;
对所述固件数据进行反汇编处理,获得所述固件数据对应的机器语言代码,对所述机器语言代码中与耗材数据相关的指令进行修改;
其特征在于:
将修改后的机器语言代码封装成应用程序,并将所述应用程序添加到最小操作系统中;
将打印机与计算机连接,在所述计算机上运行所述最小操作系统,并安装所述应用程序。
2.根据权利要求1所述的打印机固件修改方法,其特征在于:
所述最小操作系统为DOS操作系统或LINUX操作系统或WINPE操作系统。
3.根据权利要求1或2所述的打印机固件修改方法,其特征在于:
所述最小操作系统存储在便携式存储设备中。
4.根据权利要求1或2所述的打印机固件修改方法,其特征在于:
制作所述最小操作系统时,在所述最小操作系统中写入批处理命令及自运行所述应用程序的命令。
5.根据权利要求1或2所述的打印机固件修改方法,其特征在于:
所述耗材数据相关的指令包括耗材余量数据相关的指令。
6.根据权利要求1或2所述的打印机固件修改方法,其特征在于:
所述获取打印机固件数据是自互联网下载打印机固件数据。
7.根据权利要求1或2所述的打印机固件修改方法,其特征在于:
所述获取打印机固件数据是用编程器将打印机存储器内所存储的所述固件数据读出。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2010105293693A CN101973165B (zh) | 2010-11-02 | 2010-11-02 | 打印机固件的修改方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2010105293693A CN101973165B (zh) | 2010-11-02 | 2010-11-02 | 打印机固件的修改方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101973165A CN101973165A (zh) | 2011-02-16 |
| CN101973165B true CN101973165B (zh) | 2012-01-18 |
Family
ID=43573084
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2010105293693A Expired - Fee Related CN101973165B (zh) | 2010-11-02 | 2010-11-02 | 打印机固件的修改方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN101973165B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6113208A (en) * | 1996-05-22 | 2000-09-05 | Hewlett-Packard Company | Replaceable cartridge for a printer including resident memory with stored message triggering data |
| CN1622038A (zh) * | 2005-01-07 | 2005-06-01 | 北京北大方正电子有限公司 | 一种通过因特网对打印设备进行自动升级的方法 |
| CN101700715A (zh) * | 2009-08-20 | 2010-05-05 | 珠海纳思达电子科技有限公司 | 一种喷墨打印机墨盒的回收方法及应用该方法得到的回收墨盒 |
-
2010
- 2010-11-02 CN CN2010105293693A patent/CN101973165B/zh not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6113208A (en) * | 1996-05-22 | 2000-09-05 | Hewlett-Packard Company | Replaceable cartridge for a printer including resident memory with stored message triggering data |
| CN1622038A (zh) * | 2005-01-07 | 2005-06-01 | 北京北大方正电子有限公司 | 一种通过因特网对打印设备进行自动升级的方法 |
| CN101700715A (zh) * | 2009-08-20 | 2010-05-05 | 珠海纳思达电子科技有限公司 | 一种喷墨打印机墨盒的回收方法及应用该方法得到的回收墨盒 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101973165A (zh) | 2011-02-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101477471B (zh) | 一种嵌入式系统固件在线升级方法 | |
| CN103914315B (zh) | 驱动程序的配置方法 | |
| CN103473067A (zh) | 嵌入式Linux分区与数据还原方法、系统及系统开发方法 | |
| US20090249329A1 (en) | Limited service life through virtualized service images | |
| CN101941330A (zh) | 打印机固件的修改方法 | |
| CN103049375B (zh) | 一种摄像头在线调试方法 | |
| CN105204899A (zh) | 一种基于网络的单片机固件升级方法的实现 | |
| CN103988177B (zh) | 基于维护寄存器的离线虚拟机的维护 | |
| CN103473097A (zh) | Android系统固件升级系统、装置及升级方法 | |
| CA2766954C (en) | System and method for injecting run-time programming code in a printing device | |
| CN110457217B (zh) | 一种跨平台的mcu调试装置 | |
| CN100368995C (zh) | 一种单片机系统在运行中升级的装置和方法 | |
| Lacamera | Embedded systems architecture | |
| CN106569802A (zh) | 防火墙iso安装镜像的制作方法及装置 | |
| CN104461644A (zh) | 一种国产计算机平台烧录ec固件的方法 | |
| CN101973165B (zh) | 打印机固件的修改方法 | |
| CN103465631A (zh) | 一种打印机用耗材计数芯片 | |
| CN106945406B (zh) | 耗材芯片的操作方法、耗材芯片、耗材容器、耗材设备 | |
| JP2593007B2 (ja) | プログラム組込型機器 | |
| CN111813390B (zh) | 一种定时器实现方法 | |
| JP5727067B2 (ja) | 印刷装置へランタイムプログラミングコードを導入するためのシステム及び方法 | |
| US9892216B2 (en) | Information processing apparatus, method, and program product for simulating processes with parent-child and sibling relationships | |
| Lacamera | Embedded Systems Architecture: Design and write software for embedded devices to build safe and connected systems | |
| JP4680679B2 (ja) | コンピュータ端末用記憶媒体 | |
| CN108196865A (zh) | 一种Intel ME的固件更新方法、装置及介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120118 Termination date: 20201102 |