CN110784614B - 用于更新固件的图像形成设备 - Google Patents

用于更新固件的图像形成设备 Download PDF

Info

Publication number
CN110784614B
CN110784614B CN201910700770.XA CN201910700770A CN110784614B CN 110784614 B CN110784614 B CN 110784614B CN 201910700770 A CN201910700770 A CN 201910700770A CN 110784614 B CN110784614 B CN 110784614B
Authority
CN
China
Prior art keywords
cpu
data
image forming
forming apparatus
firmware
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.)
Active
Application number
CN201910700770.XA
Other languages
English (en)
Other versions
CN110784614A (zh
Inventor
王晓立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN110784614A publication Critical patent/CN110784614A/zh
Application granted granted Critical
Publication of CN110784614B publication Critical patent/CN110784614B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0083Arrangements for transferring signals between different components of the apparatus, e.g. arrangements of signal lines or cables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

本发明提供一种用于更新固件的图像形成设备。在包括包含第一CPU的第一系统、以及包含第二CPU和被配置为存储第二CPU所要执行的固件的存储器的第二系统的图像形成设备中,第二CPU对用于将所接收到的数据写入第二系统的装置的写入装置进行用以使得写入装置能够将从第一系统接收到的固件的更新数据直接写入第二系统的存储器的设置。

Description

用于更新固件的图像形成设备
技术领域
本发明涉及用以更新固件的技术。
背景技术
信息设备被配置为通过更新固件来向设备添加新功能或消除程序的缺陷。日本特开2009-5019讨论了包括主系统和子系统的图像形成设备。主系统包括通用串行总线(USB)控制器和中央处理单元(CPU)。子系统包括图像处理器、用于控制打印机引擎的装置控制器、以及CPU。日本特开2009-5019讨论了用以在包括主系统和子系统的这种图像形成设备中更新子系统中的CPU的启动程序的处理。在图像形成设备中,主系统中的CPU从USB存储器等获取子系统中的CPU的启动程序的更新数据,以将该更新数据在主系统内的随机存取存储器(RAM)中展开。此外,子系统中的CPU将主系统内的RAM中所展开的更新数据复制到子系统中的RAM,并将复制的更新数据在子系统内的引导只读存储器(ROM)中重写(更新)。
在上述的图像形成设备中,主系统和子系统具有彼此不同的角色。因此,子系统中的CPU和RAM与主系统中的CPU和RAM相比可能具有较低的处理能力或存储容量。在处理能力和存储容量低的CPU和RAM进行固件更新时,由于低处理能力和低存储容量,因而可能无法进行高速更新。
发明内容
根据本发明的各个实施例,图像形成设备包括包含第一CPU的第一系统以及包含第二CPU的第二系统。在图像形成设备中,第一系统包括被配置为将数据从第一系统传送至第二系统的传送装置,并且第二系统包括被配置为将所接收到的数据写入第二系统的装置的写入装置、以及被配置为存储第二CPU所要执行的固件的非易失性存储器。第二CPU对写入装置进行用以使得该写入装置能够将从传送装置接收到的数据写入第二系统的非易失性存储器的设置,并且利用第二CPU进行了设置的写入装置从传送装置接收第二CPU所要执行的固件的更新数据,并将所接收到的更新数据写入非易失性存储器。
一种图像形成设备,包括:第一系统,其被配置为与所述图像形成设备的外部进行通信以向用户通知信息,并从用户接收指示;以及第二系统,其连接至所述第一系统并且被配置为控制打印机装置和扫描器装置至少之一,其中,所述第一系统包括:第一中央处理单元即第一CPU;以及传送装置,其被配置为将数据从所述第一系统传送至所述第二系统,所述第二系统包括:第二CPU;写入装置,其被配置为将所接收到的数据写入所述第二系统的装置,该装置与由所述第一系统的第一CPU指定为所述数据的写入目的地的地址相对应;以及非易失性存储器,其被配置为存储所述第二CPU所要执行的固件,所述第二系统的第二CPU对所述第二系统的写入装置进行用于使得所述写入装置能够将从所述第一系统的传送装置接收到的数据写入所述第二系统的非易失性存储器的设置,以及在所述第二系统的第二CPU进行所述设置之后,所述第二系统的写入装置从所述第一系统的传送装置接收所述第二系统的第二CPU所要执行的固件的更新数据,并将所接收到的更新数据在无需通过所述第二系统的第二CPU的情况下写入所述第二系统的非易失性存储器。
根据以下参考附图对典型实施例的说明,其它特征将变得明显。
附图说明
图1是示出图像形成设备的框图。
图2是示出图像形成设备的内部的框图。
图3是示出控制器的启动序列的图。
图4是示出更新固件的方法的示例的图。
图5是示出根据第一典型实施例的用以更新子系统第二中央处理单元(CPU)的操作程序(固件)的流程的图。
图6是示出根据第二典型实施例的更新子系统第二CPU的操作程序的方法的图。
图7是示出根据第三典型实施例的更新子系统第二CPU的操作程序的方法的图。
图8是示出主系统地址空间和子系统地址空间的图。
具体实施方式
参考附图来说明本发明的一些典型实施例。
系统结构的说明
以下参考附图来说明一些典型实施例。以下典型实施例不限制权利要求中所定义的本发明的范围,并且典型实施例中所说明的特征的所有组合不必是本发明的所有实施例的解决手段所必需的。
以下说明第一典型实施例。说明根据本典型实施例的作为信息处理设备的示例的图像形成设备。
图1是示出系统的框图。图像形成设备1包括控制器(控制装置)3、扫描器装置2、打印机装置4、存储装置6、操作单元5、以及传真(FAX)装置7。
扫描器装置2包括用于自动连续更换原稿的原稿进给单元21、以及用于光学扫描原稿并将扫描原稿的内容转换为数字图像的扫描器单元22。扫描器装置2将所获取到的数字图像的数据发送至控制器3。
打印机装置4包括用于从内部存储的薄片束逐一地连续进给薄片的薄片进给单元42、用于在所进给的薄片上打印图像数据的标记单元41、以及用于排出所打印的薄片的薄片排出单元43。打印机装置4在诸如纸等的薄片上打印扫描器装置2所获得的数字图像或通过本地局域网(LAN)8从外部计算机9接收到的打印数据的数字图像。
操作单元5是包括触摸屏和硬件键的用户接口。触摸屏向用户显示诸如装置设置等的信息,并接收用户的触摸操作。硬件键包括用于从用户接收开始复印的指示和开始扫描的指示的开始键。操作单元5向控制器3通知用户赋予操作单元5的内容。
存储装置6存储数字图像、控制程序等。在本典型实施例中,存储装置6是包括硬盘驱动器(HDD)和固态驱动器(SSD)的多个存储装置中的任意存储装置。FAX装置7连接至电话线,并将数字图像发送至外部。控制器3连接至这些装置,并且可以通过指示各模块(装置和单元)来执行打印、扫描、数据发送等的作业。此外,控制器3从外部接收固件的更新数据,并利用所接收到的更新数据来更新固件。
图像形成设备1可以执行各种作业。以下说明作业的示例。
-复印功能:将从扫描器装置2读取的图像存储在存储装置6中,同时利用打印机装置4进行打印。
-图像发送功能:将从扫描器装置2读取的图像通过LAN 8发送至计算机9。
-图像保存功能:将从扫描器装置2读取的图像存储在存储装置6中,并且在必要时进行图像发送和图像打印。
-图像打印功能:例如,分析从计算机9发送的页面描述语言,并利用打印机装置4进行打印。
图2是示出控制器3的框图。
控制器3包括主系统100、以及通过外围组件互连高速(PCIe)总线而连接至主系统100的子系统200。如下所述,主系统100的物理地址空间与子系统200的物理地址空间不同,并且物理地址空间通过PCIe-高级可扩展接口(AXI)转换器302而彼此部分映射。例如,由主系统CPU 101指定以访问子系统200中的装置的地址和子系统中的装置的物理地址彼此映射。该映射的设置由子系统200中的子系统第二CPU 211基于子系统第二非易失性存储器213中所存储的固件程序而进行。
在以下说明的本典型实施例中,子系统第二CPU 211对PCIe-AXI转换器302进行映射的设置。此外,进行映射的设置的PCIe-AXI转换器302响应于来自主系统CPU 101的指示而更新用于进行映射的设置的子系统第二CPU 211所要执行的固件的至少一部分。
主系统100是所谓的通用CPU系统。主系统100包括图2所示的硬件,并且各硬件连接至内部总线。
主系统CPU 101(以下称为CPU 101)是用于控制整个控制器3的处理器。引导只读存储器(ROM)104存储CPU 101紧接在CPU 101的复位解除之后所要执行的程序(即CPU 101的引导程序)。引导程序指示CPU 101接着要执行的程序的存储位置。在本典型实施例中,该位置是主系统非易失性存储器103(以下称为非易失性存储器103)。
非易失性存储器103存储CPU 101在引导程序之后所要执行的操作程序。操作程序包括主系统100的操作系统(OS)。操作程序还包括用以进行网络控制器106和通用串行总线(USB)接口105的初始设置(初始化)的程序。操作程序还包括用以进行PCIe控制器301的初始设置的程序。PCIe控制器301用作用于将CPU 101所指定的数据以及该数据写入的地址从主系统100传送至子系统200的传送装置。此外,PCIe控制器301还用作用于将数据从子系统200传送至主系统100的装置。
非易失性存储器103中所存储的操作程序还包括OS上所要操作的主系统100的应用程序。在应用程序中预先描述了连接至主系统100中的内部总线和子系统200中的AXI总线的各个装置的地址。CPU 101基于应用程序,利用相应地址来访问各装置。例如,当CPU101发出用以将数据写入表示子系统第二非易失性存储器213的地址中的指示时,PCIe控制器301向PCIe-AXI转换器302通知用以将数据写入该地址中的指示。以下,子系统第二非易失性存储器213被称为非易失性存储器213,并且PCIe-AXI转换器302被称为转换器302。非易失性存储器213是闪速存储器。
转换器302可以用作子系统200中的AXI总线的总线主控器,并且具有用以将主系统100中的总线访问转换为子系统200中的总线访问的转换功能。该转换功能例如将从CPU101通过PCIe总线通知的地址(数据写入的地址)转换为子系统200中的AXI总线上的地址(即子系统200上有效的地址)。此外,该转换功能例如将通过PCIe总线发送的数据的数据格式转换为要通过AXI总线发送的数据的数据格式。作为AXI总线的总线主控器的转换器302将从主系统100接收到的数据写入AXI总线上的地址(在本示例中为非易失性存储器213)。换句话说,转换器302用作用于将从主系统100接收到的数据写入子系统200内的装置中的写入装置。在数据写入中,由于转换器302用作总线主控器,因此不使用子系统第二CPU 211(以下称为CPU 211)。另外,作为总线主控器的转换器302同样可以将数据从CPU 101写入子系统第一易失性存储器202(以下称为易失性存储器202)。在数据写入中,不使用子系统第一CPU 201(以下称为CPU 201)。易失性存储器202是用作CPU 201的主存储器(工作存储器)的易失性随机存取存储器(RAM)。
主系统易失性存储器102(以下称为易失性存储器102)是用作CPU 101的主存储器(工作存储器)的易失性RAM。CPU 101将非易失性存储器103中所存储的上述操作程序展开到易失性存储器102,并执行所展开的操作程序。USB接口105是用以将诸如USB存储器10等的外部存储装置连接至主系统100的接口。网络控制器106是用以通过LAN线缆与图像形成设备1外部的计算机9进行通信的接口。操作单元接口107是用以将操作单元5连接至主系统100的接口。
子系统200是用于控制图像处理功能的CPU系统。子系统200包括图2所示的硬件。
CPU 211是用于在电源接通后解除复位时执行非易失性存储器213的地址0中所存储的程序的处理器。该程序是CPU 211的引导程序。此外,该程序表示存储CPU 211在引导程序之后所要执行的操作程序(CPU 211的固件程序)的位置。在本典型实施例中,该位置是非易失性存储器213中的特定地址。操作程序在被执行时由CPU 211展开到子系统第二易失性存储器212(以下称为易失性存储器212)。易失性存储器212是用作CPU 211的主存储器(工作存储器)的易失性RAM。该操作程序也是存储装置6和电源控制硬件电路222的控制程序。该操作程序还进行转换器302的初始设置。在初始设置中,设置主系统100所管理的地址与AXI总线上的物理地址之间的对应关系(映射)。换句话说,在进行初始设置时,连接至子系统200的AXI总线的硬件装置被分配到主系统100(CPU 101)的地址空间。作为结果,如上所述,主系统100中的CPU 101可以通过向自身的存储器地址空间发出访问命令来访问连接至子系统200的AXI总线的相应硬件装置。在本典型实施例中,使用以上机制,用更新数据来更新子系统200的非易失性存储器213中所存储的CPU 211的引导程序。该更新数据是通过LAN8和USB接口105从外部获取到的。
子系统200还包括CPU 201。CPU 201是用于执行写入易失性存储器202的CPU 201的引导程序的处理器。CPU 201的引导程序响应于来自CPU 101的指示而从主系统100写入易失性存储器202中。CPU 201执行该引导程序以经由图像处理专用集成电路(ASIC)(图像处理装置)203和引擎控制器223控制打印机装置4、扫描器装置2和FAX装置7。
例如,当用户从操作单元5指示图像复印时,CPU 101使CPU 201进行与图像复印相关的控制。更具体地,CPU 101通过CPU 201来向扫描器装置2发送读取图像的指示。然后,扫描器装置2光学扫描纸质原稿并将纸质原稿的内容转换为数字图像数据,并通过引擎控制器223来将数字图像数据提供至图像处理ASIC 203。图像处理ASIC 203通过CPU 201来进行数字图像数据向易失性存储器202的直接存储器存取(DMA)传送,并暂时存储数字图像数据。接着,当CPU 101确认为预定量或全部的数字图像数据已存储在易失性存储器202中时,CPU 101通过CPU 201来指示打印机装置4输出图像。此时,CPU 201向图像处理ASIC 203通知图像数据在易失性存储器202中的存储位置(存储地址)。然后,引擎控制器223基于来自打印机装置4的同步信号将存储器202中的图像数据发送至打印机装置4。因此,打印机装置4打印数字图像数据。
图2是简化框图。例如,CPU 101、CPU 201等各自包括诸如芯片组、总线桥和时钟发生器等的大量CPU外围硬件;然而,由于在说明的粒度方面无需硬件的详细图示,因此CPU101、CPU 201等各自被简化。块结构不限制本发明的范围。
接着,参考图3来说明控制器3的启动序列。该启动序列大致分为主系统100的启动和子系统200的启动。以下,当用户接通图像形成设备1的电源开关时,上电复位电路使内部复位信号有效以复位CPU 101和CPU 211。当上电复位电路检测到图像形成设备1的电源电压已经上升到基准电压时,上电复位电路使内部复位信号无效(失效)以解除CPU 101和CPU211的复位。
主系统100的启动
在步骤S311中,从复位解除的CPU 101启动主系统100。更具体地,CPU 101执行引导ROM 104中的引导程序,并且CPU 101将非易失性存储器103中所存储的引导加载程序读取到易失性存储器102中,并基于引导程序来执行引导加载程序。然后,CPU 101将OS从非易失性存储器103读取到易失性存储器102中,并基于引导加载程序来执行OS。在该处理中,CPU 101将诸如PCIe控制器301、USB接口105、网络控制器106和操作单元接口107等的装置初始化。作为结果,CPU 101变得可被各装置访问。例如,CPU 101可以参考PCIe控制器301的PCIe总线来访问各装置。此后,CPU 101执行由OS从非易失性存储器103读取到易失性存储器102中的作业处理应用。主系统100以上述方式启动。
子系统200的启动
从复位解除的CPU 211与步骤S311中的主系统100的启动处理并行地进行以下说明的步骤S321~S324。
在步骤S321中,CPU 211执行非易失性存储器213中从地址0开始存储的程序。然后,CPU 211将存储在由程序指定的地址中的操作程序(也称为固件程序)从非易失性存储器213读取(加载)到易失性存储器212中。该操作程序执行以下说明的步骤S322~S324中的处理。
在步骤S322中,CPU 211对转换器302设置用以将PCIe总线访问转换为子系统200中的总线访问的地址转换规则。这使得主系统100的CPU 101能够参考连接至子系统200的AXI总线的装置(例如,易失性存储器202和非易失性存储器213),就像该装置映射在自己(CPU 101内)的存储器空间中一样。参考图8来说明CPU 101通过PCIe控制器301和转换器302来参考子系统200中的地址空间的方法。
图8示出CPU 101可以参考的地址空间。CPU 101指定地址空间中的地址,从而访问与该地址相对应的装置。
CPU 101可以参考的地址空间(主系统存储器空间510)包括主系统物理存储器空间511、PCIe空间512和主系统其它硬件空间513。
易失性存储器102映射到主系统物理存储器空间511,并且CPU 101可以通过访问相应地址来访问易失性存储器102。在本典型实施例中,易失性存储器102被设置在地址0X0000_0000~0xCFFF_FFFF中。
将经由PCIe控制器301的PCIe总线上的装置映射在PCIe空间512中,并且CPU 101可以通过访问相应地址来访问PCIe总线上的装置。在本典型实施例中,PCIe总线上的装置被设置在地址0xD000_0000~0xEFFF_FFFF中。对地址的访问与对PCIe控制器301的访问相对应。CPU 101所访问的PCIe控制器301使用符合PCIe的协议来与同CPU 101所访问的地址相对应的装置(即,连接至PCIe总线的硬件)进行通信。
由于在这种情况下转换器302连接至PCIe总线,因此转换器302将CPU 101所要访问的地址转换为AXI总线上的地址。换句话说,转换器302将对PCIe空间的访问转换为对AXI总线上的子系统存储器空间520的访问。此外,作为总线总控器的转换器302访问AXI总线上的地址以实现从CPU 101对AXI总线上的装置的访问。
在本典型实施例中,当CPU 101访问PCIe空间512(0xD000_0000~0xDFFF_FFFF)时,CPU 101可以访问子系统第一易失性存储器空间521(0x0000_0000~0x0FFF_FFFF)。作为结果,CPU 101访问子系统第一易失性存储器202。
当CPU 101访问PCIe空间512(0xE000_0000~0xE4FF_FFFF)时,CPU 101可以访问子系统第二易失性存储器空间522(0x1000_0000~0x14FF_FFFF)。作为结果,CPU 101访问子系统第二易失性存储器212。
此外,当CPU 101访问PCIe空间512(0xE500_0000~0xEFFF_FFFF)时,CPU 101可以访问子系统第二非易失性存储空间523(0x1500_0000~0x1FFF_FFFF)。作为结果,CPU 101访问子系统第二非易失性存储器213。
对子系统存储器空间520的访问由用作AXI总线的总线主控器的转换器302进行。因此,可以在不使用子系统200的CPU 201和CPU 211的情况下进行访问。
通过对主系统其它硬件空间513的访问来进行对USB接口105、网络控制器106、操作单元接口107和存储装置6的访问。尽管图8中省略图示,但是通过PCIe控制器301和转换器302来进行从CPU 101对存储装置6的访问。此外,在以下说明的CPU 211的控制下进行对存储装置6的访问。
参考回图3,在步骤S323中,CPU 211开始对存储装置6的控制。当在控制下、CPU211通过PCIe总线从CPU 101接收到数据写入指示或数据读取指示时,CPU 211对存储装置6进行数据写入控制或数据读取控制。当CPU 211从CPU 201接收到数据写入指示或数据读取指示时,CPU 211对存储装置6进行数据写入控制或数据读取控制。CPU 211基于操作程序来执行数据写入控制或数据读取控制的方法。操作程序根据存储装置6的类型而不同。当存储装置6是HDD时,执行HDD所用的操作程序。当存储装置6是SSD时,执行SSD所用的操作程序。操作程序与存储装置6的类型相对应地存储在非易失性存储器213中,以节省非易失性存储器213的容量。
在步骤S324中,CPU 211开始对电源控制硬件电路222的控制。在该控制下,CPU211对子系统200中的各硬件进行电源控制(和时钟供给控制)。
子系统引导程序从主系统100向子系统200的传送
在步骤S314中,CPU 101通过PCIe控制器301和转换器302将子系统引导程序从非易失性存储器103传送至易失性存储器202。子系统引导程序是CPU 201的引导程序,并且与子系统200的系统引导图像相对应。
此后,在步骤S315中,CPU 101解除CPU 201的复位。
在步骤S331中,从复位解除的CPU 201执行易失性存储器202中所存储的引导程序以启动子系统200。作为结果,主系统100和子系统200可以在彼此协调通信的同时处理作业。
主系统100和子系统200的启动后的控制
在步骤S340中,CPU 101、CPU 201和CPU 221在彼此通信的同时处理作业。更具体地,在作业出现的情况下,CPU 101在与CPU 201进行通信的同时,控制图像处理ASIC 203和引擎控制器223、以及前面的打印机装置4、扫描器装置2和FAX装置7,以进行打印、扫描和FAX接收/发送。
例如,当CPU 101通过网络控制器106接收到打印数据时,CPU 101生成打印作业。然后CPU 101将打印数据发送至子系统200。CPU 201使图像处理ASIC 203处理所接收到的打印数据。图像处理ASIC 203所处理的图像数据被存储在易失性存储器202中。在处理中,CPU 201控制电源控制硬件电路222以向图像处理ASIC 203供电。此外,CPU 201指示CPU211将图像处理ASIC 203所处理的图像数据从易失性存储器202存储在存储装置6中。然后CPU 211控制存储装置6以存储易失性存储器202中已经存储的图像数据。此外,当CPU 201检测到打印机装置4已准备好经由引擎控制器223进行打印时,CPU 201指示CPU 211从存储装置6读取图像数据。然后CPU 211控制存储装置6以读取图像数据,并将图像数据发送至CPU 201。CPU 201使打印机装置4经由引擎控制器223来打印所接收到的图像数据。
在本典型实施例中,主系统100的CPU 101以上述方式通过PCIe总线将子系统200的CPU 201的引导程序发送至子系统200的易失性存储器202。因此,在更新子系统200的CPU201的引导程序时,进行以下处理就足够了。主系统100的CPU 101从LAN 8或USB存储器10获取引导程序的更新数据,并且用更新数据来更新非易失性存储器103中的CPU 201的引导程序。
然而,由于CPU 211所要执行的操作程序(固件程序)被存储在非易失性存储器213中,因此从LAN 8或USB存储器10获取更新数据并将更新数据存储在非易失性存储器103中是不够的。需要通过PCIe总线和转换器302将非易失性存储器103中所存储的固件的更新数据存储在非易失性存储器213中。
如上所述,CPU 211的固件包括用以进行转换器302的初始设置、存储装置6的控制、以及电源控制的操作程序。因此,需要基于存储装置6从HDD更换为SSD所引起的控制程序的变化以及电源控制规范的变化(例如,启动时的电源输入顺序的变化)来更新操作程序。
参考图4来说明根据比较例的更新CPU 211的固件程序的方法。为了更新CPU 211的固件,CPU 211控制USB接口105和网络控制器106以从图像形成设备的外部(外部设备)获取固件的更新数据。CPU 211将更新数据存储在作为CPU 211的工作存储器的易失性存储器212中。然后,CPU 211用易失性存储器212中所存储的更新数据来更新非易失性存储器213中所存储的固件。
如上所述,在比较例中,需要使CPU 211具有用以控制接口以从外部获取更新数据的处理能力、以及用以高速地更新非易失性存储器213中所存储的固件的处理能力。此外,需要使易失性存储器212除了CPU 211的更新前的固件展开至的存储区域之外还具有用以存储更新数据的足够的存储器容量。
然而,在采用根据上述比较例的更新方法的情况下,更新的效率可能根据CPU 211的处理能力和易失性存储器212的可用容量而劣化。
因此,在本典型实施例中,CPU 101从外部获取CPU 211的固件的更新数据,并且在无需通过CPU 211和易失性存储器212的情况下利用更新数据来更新非易失性存储器213中所存储的固件。参考图5来说明根据本典型实施例的更新固件的方法。
图5示出CPU 101所执行的处理流程。该处理流程是用以更新CPU 211的固件的处理流程,并且用以执行该处理流程的程序(用以更新CPU 211的固件的程序)预先存储在非易失性存储器103中。当CPU 101检测到图像形成设备1的操作者指示操作单元5执行用以更新CPU 211的固件的程序时,CPU 101将用以更新固件的程序从非易失性存储器103读取到易失性存储器102,并执行该程序。在执行更新处理流程之前,CPU 101执行图3的步骤S311中的处理,并且CPU 211基于更新前的固件程序来执行图3的步骤S322中的处理。因此,CPU101可以在无需通过CPU 211和易失性存储器212的情况下访问非易失性存储器213。以下说明的固件的更新数据包括用于使CPU 211进行存储装置6的数据读取控制和数据写入控制的程序的更新数据、用于使CPU 211进行转换器302的初始设置的程序的更新数据、以及用于使CPU 211进行电源控制的程序的更新数据。
在步骤S501中,CPU 101控制USB接口105以从USB存储器10获取CPU 211的固件的更新数据,并将更新数据暂时存储在非易失性存储器103中。作为结果,即使图像形成设备1的电源由于固件更新期间的非预期停电而断开,也可以使用仍存储在非易失性存储器103中的更新数据来再次开始固件更新。在步骤S501中,CPU 101可以控制网络控制器106而不是USB接口105,以通过LAN 8从外部设备获取更新数据。
在步骤S502中,CPU 101通过PCIe控制器301和转换器302来将非易失性存储器103中所存储的更新数据写入子系统200的非易失性存储器213。
更具体地,CPU 101发出用以将更新数据写入PCIe空间512中所设置的非易失性存储器213的特定地址中的指示。然后,PCIe控制器301通过PCIe总线将更新数据传送至转换器302,并且转换器302基于该指示来将更新数据重写至AXI总线上的非易失性存储器213的特定地址。此时,转换器302基于步骤S322中所设置的对应关系来将从PCIe控制器301通知的总线访问转换为AXI总线上的总线访问。
如上所述,更新数据在无需通过CPU 211和易失性存储器212的情况下被写入非易失性存储器213。
在步骤S503中,CPU 101再启动(再引导)图像形成设备1(主系统100和子系统200)以反映更新内容。
以上是根据本典型实施例的用以更新CPU 211的固件的处理。CPU 211进行转换器302的设置,使得获取到更新数据的CPU 101可以在无需通过CPU 211和易失性存储器212的情况下访问非易失性存储器213。换句话说,CPU 211对转换器302进行设置,使得从CPU 101接收到更新数据写入指示的转换器302可以通过AXI总线将更新数据直接写入非易失性存储器213。此后,当CPU 101发出用以将更新数据写入AXI总线上的非易失性存储器213的指示时,转换器302通过PCIe控制器301来接收该指示,并基于该指示将更新数据写入非易失性存储器213。如上所述,可以在无需通过CPU 211和易失性存储器212的情况下写入更新数据。
此外,在根据上述典型实施例的说明中,转换器302包括在子系统200中;然而,转换器302可被设置在主系统100和子系统200之间。主要特征是在无需通过CPU 211和易失性存储器212的情况下将更新数据写入用于存储要由进行转换器302的设置的CPU 211执行的操作程序的非易失性存储器213中。
以下说明第二典型实施例。在上述的第一典型实施例中,CPU 101可以将更新数据写入非易失性存储器213。更新数据包括用以进行图3的步骤S322中的设置处理的操作程序。因此,如果发生诸如操作程序更新期间的停电以及通过网络的网络攻击等的非预期情况,则非易失性存储器213中的操作程序可能被破坏。作为结果,在图像形成设备1的启动处理(图3)中,CPU 211在步骤S322中不能对转换器302进行正确设置,并且主系统100和子系统200根本不能彼此通信。在这种情况下,由于在步骤S322中未进行正确设置,因此即使在图像形成设备1的电源再次接通的情况下,缺陷也不会被消除。
因此,在本典型实施例中,与步骤S322中的处理相关的操作程序被排除在非易失性存储器213中的更新对象之外。此外,主系统100(CPU 101)不参考存储了与步骤S322中的处理相关的操作程序的非易失性存储器213中的存储器块(存储区域)。本典型实施例中未说明的部分具有与第一典型实施例相同的结构。
在本典型实施例中,非易失性存储器213以被划分为两个存储器块的状态进行管理。换句话说,非易失性存储器213的其中一个存储器块作为存储用以执行步骤S322中的设置处理的操作程序的块进行管理,而另一个存储器块作为存储用以执行步骤S323和S324中的控制处理的操作程序的块进行管理。前一存储器块作为非易失性存储器第一块213-1进行管理,并且后一存储器块作为非易失性存储器第二块213-2进行管理。
在图3所示的启动处理中,CPU 101在步骤S311中的PCIe控制器的初始化处理(初始设置)中进行以下设置(图6中的661)。CPU 101进行设置,使得CPU 101不能参考非易失性存储器第一块213-1,但可以参考非易失性存储器第二块213-2。这可以通过将图8中所说明的PCIe空间512设置为使得PCIe空间512中仅不能使用非易失性存储器第一块213-1来实现。
在步骤S311中进行PCIe控制器301的这种设置,这使得CPU 101无法对非易失性存储器第一块213-1进行写入(图6中的603)。这使得可以防止步骤S322中所使用的操作程序被破坏。另一方面,CPU 211在步骤S322中以与第一典型实施例相同的方式进行转换器302的设置(图6中的602),这使得CPU 101能够将更新数据写入非易失性存储器第二块213-2。作为结果,CPU 101可以在无需通过CPU 211和易失性存储器212的情况下更新步骤S323和S324中所使用的操作程序(图6中的604)。此外,在本典型实施例中,在步骤S322中,CPU 211对转换器302进行设置,使得转换器302不能访问非易失性存储器第一块213-1(图6中的602)。
以下说明第三典型实施例。在本典型实施例中,通过与根据第二典型实施例的方法不同的方法来防止向非易失性存储器第一块213-1写入数据。本典型实施例中未说明的部分具有与第二典型实施例相同的结构。
在图3所示的启动处理中,CPU 101在步骤S311中的PCIe控制器的初始化处理(初始设置)中进行以下设置(图7中的701)。CPU 101进行设置,使得CPU 101不能参考非易失性存储器第一块213-1和非易失性存储器第二块213-2。这可以通过将图8中所说明的PCIe空间512设置为使得PCIe空间512中仅不能使用非易失性存储器213来实现。
此外,在步骤S314中,除了CPU 201所要使用的引导程序之外,CPU 101还将更新数据传送至易失性存储器202(图7中的704)。
在执行步骤S331中的处理之后,CPU 201通过AXI总线的存储器控制器207来将易失性存储器202中所存储的更新数据写入非易失性存储器213(图7中的705)。存储器控制器207被配置为不将数据写入非易失性存储器第一块213-1(图7中的706)。另外,存储器控制器207被配置为将数据写入非易失性存储器第二块213-2(图7中的707)。因此,存储器控制器207控制对非易失性存储器213的访问,从而防止将数据写入非易失性存储器第一块213-1。
子系统第一CPU 201可以访问存储装置6和电源控制硬件电路222(707)。
另外,在本典型实施例中,与第二典型实施例一样,CPU 101可以在步骤S311中的PCIe控制器的初始化处理(初始设置)中进行以下设置(图7中的701和703)。CPU 101进行设置,使得CPU 101不能参考非易失性存储器第一块213-1,但可以参考非易失性存储器第二块213-2。这可以通过将图8中所说明的PCIe空间512设置为使得PCIe空间512中仅不能使用非易失性存储器第一块213-1来实现。另外,在本典型实施例中,在步骤S322中,CPU 211可以对转换器302进行设置,使得转换器302不能访问非易失性存储器第一块213-1(图7中的702)。
其它实施例
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提进给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然已经说明了典型实施例,但应当理解,本发明不限于所公开的典型实施例。以下权利要求书的范围应被给予最广泛的理解,以包含所有这样的修改以及等同结构和功能。

Claims (12)

1.一种图像形成设备,包括:
第一系统,其被配置为与所述图像形成设备的外部进行通信以向用户通知信息,并从用户接收指示;以及
第二系统,其连接至所述第一系统并且被配置为控制打印机装置和扫描器装置至少之一,
其中,所述第一系统包括:第一中央处理单元即第一CPU;以及传送装置,其被配置为将数据从所述第一系统传送至所述第二系统,
所述第二系统包括:第二CPU;写入装置,其被配置为将所接收到的数据写入所述第二系统的装置,该装置与由所述第一系统的第一CPU指定为所述数据的写入目的地的地址相对应;以及非易失性存储器,其被配置为存储所述第二CPU所要执行的固件,
所述第二系统的第二CPU对所述第二系统的写入装置进行用于使得所述写入装置能够将从所述第一系统的传送装置接收到的数据写入所述第二系统的非易失性存储器的设置,以及
在所述第二系统的第二CPU进行所述设置之后,所述第二系统的写入装置从所述第一系统的传送装置接收所述第二系统的第二CPU所要执行的固件的更新数据,并将所接收到的更新数据在无需通过所述第二系统的第二CPU的情况下写入所述第二系统的非易失性存储器。
2.根据权利要求1所述的图像形成设备,其中,所述写入装置基于所述第二CPU所进行的所述设置,将从所述传送装置接收到的所述固件的更新数据写入用于存储所述第二CPU所要执行的固件的所述非易失性存储器。
3.根据权利要求1所述的图像形成设备,其中,
所述传送装置将所述数据以及由所述第一CPU指定为所述数据的写入目的地的地址从所述第一系统传送至所述第二系统,以及
所述第二CPU将从所述传送装置传送来的已由所述第一CPU指定的地址转换为所述第二系统中的地址,并对所述写入装置进行用于使得所述写入装置能够将从所述传送装置传送来的数据写入与通过所述转换所获得的所述第二系统中的地址相对应的装置的设置。
4.根据权利要求3所述的图像形成设备,其中,
所述第二系统包括连接至所述第二CPU、所述非易失性存储器和所述写入装置各自的总线,以及
所述第二系统中的地址是所述第二系统中所包括的总线上的地址。
5.根据权利要求1所述的图像形成设备,还包括非易失性的存储装置,所述存储装置被配置为存储数据,
其中,所述非易失性存储器中所存储的固件包括用以使所述第二CPU进行所述设置的程序、以及用以使所述第二CPU对所述存储装置进行数据写入控制的程序,以及
所述固件的更新数据包括用以使所述第二CPU对所述存储装置进行数据写入控制的程序的更新数据。
6.根据权利要求5所述的图像形成设备,其中,
所述非易失性存储器包括用于存储用以使所述第二CPU进行所述设置的程序的第一存储区域、以及用于存储用以使所述第二CPU对所述存储装置进行数据写入控制的程序的第二存储区域,以及
用以使所述第二CPU进行所述设置的程序不将所述第一存储区域用作所述写入装置的数据写入对象。
7.根据权利要求5所述的图像形成设备,其中,所述存储装置是包括硬盘驱动器和固态驱动器的多个存储装置中的任意存储装置。
8.根据权利要求1所述的图像形成设备,还包括所述打印机装置,所述打印机装置被配置为在薄片上打印图像,
其中,所述第二系统包括图像处理装置,所述图像处理装置被配置为对所述打印机装置所要打印的图像进行图像处理。
9.根据权利要求8所述的图像形成设备,其中,
所述第二系统包括被配置为控制所述图像处理装置的第三CPU、以及所述第三CPU的引导程序被加载至的易失性存储器,
所述第一系统包括被配置为存储所述第三CPU的引导程序的非易失性存储器,
所述第二系统还在所述设置的处理中进行用以使得所述写入装置能够将从所述传送装置接收到的数据写入所述第二系统的易失性存储器的设置,以及
利用所述第二CPU进行了设置的所述写入装置将从所述传送装置接收到的所述第三CPU的引导程序写入所述易失性存储器以供所述第三CPU执行所述引导程序。
10.根据权利要求1所述的图像形成设备,其中,所述第一CPU对所述传送装置进行用以参考所述第二系统的设置。
11.根据权利要求1所述的图像形成设备,其中,所述第一系统还包括被配置为从所述图像形成设备的外部获取供所述第二CPU执行所述固件的更新数据的单元。
12.根据权利要求1所述的图像形成设备,其中,
所述第二系统包括易失性存储器,其中所述第二CPU将所述固件加载至该易失性存储器以供所述第二CPU执行所述固件,以及
所述写入装置将供所述第二CPU执行所述固件的更新数据在无需通过所述第二CPU以及所述固件被加载至的易失性存储器的情况下写入所述第二系统的非易失性存储器。
CN201910700770.XA 2018-07-31 2019-07-31 用于更新固件的图像形成设备 Active CN110784614B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-143943 2018-07-31
JP2018143943A JP7267692B2 (ja) 2018-07-31 2018-07-31 ファームウェアを更新する画像形成装置

Publications (2)

Publication Number Publication Date
CN110784614A CN110784614A (zh) 2020-02-11
CN110784614B true CN110784614B (zh) 2021-11-12

Family

ID=69228621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910700770.XA Active CN110784614B (zh) 2018-07-31 2019-07-31 用于更新固件的图像形成设备

Country Status (3)

Country Link
US (1) US10747483B2 (zh)
JP (1) JP7267692B2 (zh)
CN (1) CN110784614B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360161A (zh) * 2020-03-06 2021-09-07 Oppo广东移动通信有限公司 资源升级方法及相关产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1649032A (zh) * 2004-01-29 2005-08-03 群联电子股份有限公司 具防写功能的微型存储装置
CN100412826C (zh) * 2002-06-17 2008-08-20 精工爱普生株式会社 图像形成装置、信息处理系统、固件的重写方法
CN100440148C (zh) * 2005-08-24 2008-12-03 松下电器产业株式会社 信息处理设备及在其非易失性存储器中写入数据的方法
CN102243576A (zh) * 2010-05-12 2011-11-16 富士施乐株式会社 图像形成设备和图像形成方法
CN105573665A (zh) * 2014-10-30 2016-05-11 三星电子株式会社 数据存储装置和方法及包括该装置的数据处理系统
JP2018092327A (ja) * 2016-12-01 2018-06-14 Necパーソナルコンピュータ株式会社 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101004A (ja) * 1999-09-30 2001-04-13 Ricoh Co Ltd 電子装置
JP4162863B2 (ja) * 2001-03-30 2008-10-08 株式会社ルネサステクノロジ マイクロコンピュータ
JP4857201B2 (ja) 2007-06-20 2012-01-18 キヤノン株式会社 情報処理装置
JP5901242B2 (ja) * 2011-11-18 2016-04-06 キヤノン株式会社 画像形成装置、制御方法、及びプログラム
JP5939896B2 (ja) * 2012-06-12 2016-06-22 キヤノン株式会社 画像形成装置
JP6103909B2 (ja) * 2012-12-07 2017-03-29 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びプログラム
JP6049781B2 (ja) * 2015-02-25 2016-12-21 キヤノン株式会社 画像形成装置、制御方法、及びプログラム
JP6881973B2 (ja) * 2016-12-27 2021-06-02 キヤノン株式会社 情報処理装置、及び情報処理方法
JP2018156263A (ja) * 2017-03-16 2018-10-04 東芝メモリ株式会社 メモリシステム、メモリコントローラおよびメモリシステムの制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100412826C (zh) * 2002-06-17 2008-08-20 精工爱普生株式会社 图像形成装置、信息处理系统、固件的重写方法
CN1649032A (zh) * 2004-01-29 2005-08-03 群联电子股份有限公司 具防写功能的微型存储装置
CN100440148C (zh) * 2005-08-24 2008-12-03 松下电器产业株式会社 信息处理设备及在其非易失性存储器中写入数据的方法
CN102243576A (zh) * 2010-05-12 2011-11-16 富士施乐株式会社 图像形成设备和图像形成方法
CN105573665A (zh) * 2014-10-30 2016-05-11 三星电子株式会社 数据存储装置和方法及包括该装置的数据处理系统
JP2018092327A (ja) * 2016-12-01 2018-06-14 Necパーソナルコンピュータ株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
JP7267692B2 (ja) 2023-05-02
CN110784614A (zh) 2020-02-11
JP2020021246A (ja) 2020-02-06
US20200042257A1 (en) 2020-02-06
US10747483B2 (en) 2020-08-18

Similar Documents

Publication Publication Date Title
JP5289153B2 (ja) 情報処理装置及びその制御方法、並びにコンピュータプログラム
EP1909474A1 (en) Image processor and its control method
JP6164938B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
CN110784614B (zh) 用于更新固件的图像形成设备
JP2013082130A (ja) 画像形成装置、画像形成制御方法及び画像形成制御プログラム
US8659782B2 (en) Image forming apparatus using option controller for printing
US10656954B2 (en) Information processing apparatus, activation method of information processing apparatus, and storage medium
JP2014032583A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2013041458A (ja) データ処理装置及びその制御方法
US8526039B2 (en) Image processing apparatus, and control method thereof and program
JP5080318B2 (ja) 画像処理装置及びアクセス制御方法
US9336463B2 (en) Image forming apparatus capable of changing partitions of storage unit, and control method and storage medium therefor
US20130191623A1 (en) Information processing apparatus, control method therefor, and storage medium
JP7263067B2 (ja) 情報処理装置および情報処理装置の制御方法
JP2008067299A (ja) 画像形成装置
JP2005094301A (ja) 画像形成装置
JP2013152509A (ja) 画像処理装置
US10956090B2 (en) Memory system and electronic apparatus
JP6833491B2 (ja) 情報処理装置
JP2007264978A (ja) 情報処理装置、及びその起動方法
JP5932511B2 (ja) 情報処理装置、ソフトウェアの更新方法及びコンピュータプログラム
US20220236679A1 (en) Image forming apparatus, control method for the image forming apparatus, and a storage medium
JP6798278B2 (ja) 複合機、複合機において実行される制御方法及び複合機の制御プログラム
JP5397085B2 (ja) 印刷システムおよび印刷装置
JP2020025301A (ja) 画像形成装置及びその制御方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant