CN116560700B - 芯片固件升级系统 - Google Patents

芯片固件升级系统 Download PDF

Info

Publication number
CN116560700B
CN116560700B CN202310844458.4A CN202310844458A CN116560700B CN 116560700 B CN116560700 B CN 116560700B CN 202310844458 A CN202310844458 A CN 202310844458A CN 116560700 B CN116560700 B CN 116560700B
Authority
CN
China
Prior art keywords
firmware
storage area
address
identifier
mapping
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
CN202310844458.4A
Other languages
English (en)
Other versions
CN116560700A (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.)
Muxi Integrated Circuit Shanghai Co ltd
Original Assignee
Muxi Integrated Circuit Shanghai Co ltd
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 Muxi Integrated Circuit Shanghai Co ltd filed Critical Muxi Integrated Circuit Shanghai Co ltd
Priority to CN202310844458.4A priority Critical patent/CN116560700B/zh
Publication of CN116560700A publication Critical patent/CN116560700A/zh
Application granted granted Critical
Publication of CN116560700B publication Critical patent/CN116560700B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及芯片技术领域,尤其涉及一种芯片固件升级系统,其中,固件运行程序、固件升级程序中的起始操作地址分别为第一逻辑地址和第二逻辑地址;处理器运行固件运行程序和固件升级程序,固件运行程序基于第一逻辑地址执行当前芯片固件,固件升级程序基于第二逻辑地址写入升级芯片固件;映射标识设置为第一标识或第二标识;第一存储区域的起始地址为第一物理地址,第二存储区域的起始地址为第二物理地址;若映射标识设置为第一标识,则第一逻辑地址映射至第一物理地址,第二逻辑地址映射至第二物理地址;若映射标识设置为第二标识,则第一逻辑地址映射至第二物理地址,第二逻辑地址映射至第一物理地址。本发明提高了芯片固件升级效率和可靠性。

Description

芯片固件升级系统
技术领域
本发明涉及芯片技术领域,尤其涉及一种芯片固件升级系统。
背景技术
芯片固件是存储在芯片内部非易失性存储区域中的软件部分,其本身是软件,但由于固化到芯片的非易失性存储器(Flash/EEPROM等)中,通常称为固件(Firmware),为了修复固件中的缺陷(bug)或新增固件功能,通常需要对芯片固件进行升级。现有技术中,在非易失性存储区域设置两个区域:第一区域和第二区域,在第一区域中存储当前运行版本的固件,当需要进行固件升级时,在第二区域中存储升级版本区域,当芯片重启时,先将第一区域中当前运行版本的固件擦除,然后再将第二区域中的升级固件搬运到第一区域中,搬运完成后,将升级固件作为当前运行版本的固件运行。
但是,现有技术中需要多次对第一区域和第二区域进行多次擦除重写,使得固件升级过程耗时,且易降低非易失性存储器的使用寿命。此外,在将升级固件从第二区域搬运到第一区域的过程中,需要先将第一区域中当前运行版本的固件擦除,但如果升级固件存在异常,会导致升级固件无法运行,则需要花费大量的时间到服务器中查找并恢复已擦出的第一区域中的当前运行版本的固件,使得芯片固件升级可靠性差。由此可知,如何提高芯片固件升级效率和可靠性成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种芯片固件升级系统,提高了芯片固件升级效率和可靠性。
根据本发明一方面,提供了一种芯片固件升级系统,包括第一存储器、第二存储器和处理器,其中,
所述第一存储器中存储有至少一组固件运行程序和固件升级程序;所述固件运行程序中的起始操作地址为第一逻辑地址;所述固件升级程序中的起始操作地址为第二逻辑地址;
所述处理器用于运行所述固件运行程序和固件升级程序,所述固件运行程序用于基于第一逻辑地址执行当前芯片固件,所述固件升级程序用于基于第二逻辑地址写入升级芯片固件;
所述第二存储器中包括至少一个固件存储单元,每一组固件运行程序和固件升级程序对应一个固件存储单元,所述固件存储单元包括映射标识位、地址映射表、第一存储区域和第二存储区域;所述映射标识设置为第一标识或第二标识;所述第一存储区域的起始地址为第一物理地址,所述第二存储区域的起始地址为第二物理地址;
所述地址映射表用于存储地址映射关系,若所述映射标识设置为第一标识,则所述第一逻辑地址映射至第一物理地址,所述第二逻辑地址映射至第二物理地址;若所述映射标识设置为第二标识,则所述第一逻辑地址映射至第二物理地址,所述第二逻辑地址映射至第一物理地址。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种芯片固件升级系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:
本发明所述系统在实现芯片固件升级时,无需更改固件运行程序和固件升级程序,也无需在第一存储区域和第二存储区域之间搬运升级固件,仅需通过切换映射标识,结合地址映射表即可实现芯片固件升级,提高了芯片固件升级效率和可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的芯片固件升级系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种芯片固件升级系统,如图1所示,包括第一存储器、第二存储器和处理器,其中,所述第一存储器、第二存储器均为非易失性存储器。
所述第一存储器中存储有至少一组固件运行程序和固件升级程序;所述固件运行程序中的起始操作地址为第一逻辑地址;所述固件升级程序中的起始操作地址为第二逻辑地址。需要说明的是,芯片结构复杂,在芯片完成初始化操作之后,芯片中可能存在多个模块需要执行对应的固件中的操作,因此,所述第一存储器中可能存储一组或多组固件运行程序和固件升级程序,每一组固件运行程序和固件升级程序对应一个芯片模块。所述固件运行程序中对应的第一逻辑地址始终不变,所述固件升级程序中的对应的第二逻辑地址也始终不变,即在芯片固件升级过程中,需要更改固件运行程序和固件升级程序。固件运行程序中的操作地址范围始终属于[第一逻辑地址, 第一逻辑地址+第一地址长度],固件升级程序中的操作地址范围始终属于[第二逻辑地址, 第二逻辑地址+第二地址长度]。
所述处理器用于运行所述固件运行程序和固件升级程序,所述固件运行程序用于基于第一逻辑地址执行当前芯片固件,所述固件升级程序用于基于第二逻辑地址写入升级芯片固件。需要说明的是,在写入升级芯片固件是在当前芯片固件是正常执行的前提下实现的。
所述第二存储器中包括至少一个固件存储单元,每一组固件运行程序和固件升级程序对应一个固件存储单元,所述固件存储单元包括映射标识位、地址映射表、第一存储区域和第二存储区域;所述映射标识设置为第一标识或第二标识,例如第一标识为1,第二标识为0,再如,第一标识为0,第二标识为1。所述第一存储区域的起始地址为第一物理地址,所述第二存储区域的起始地址为第二物理地址。所述第二存储器具体可以为SPI flash存储器。
需要说明的是,第一存储器和第二存储器可以单独设置,也可以设置为一个,即通过同一个存储器来实现第一存储器和第二存储器的功能。
作为一种示例,所述第一存储区域的地址长度为第三地址长度,第二存储区域的地址长度为第四地址长度。第一地址长度小于等于第三地址长度和第四地址长度,第二地址长度小于等于第三地址长度和第四地址长度。优选的,第一地址长度、第二地址长度、第三地址长度和第四地址长度都相等。
所述地址映射表用于存储地址映射关系,若所述映射标识设置为第一标识,则所述第一逻辑地址映射至第一物理地址,所述第二逻辑地址映射至第二物理地址;若所述映射标识设置为第二标识,则所述第一逻辑地址映射至第二物理地址,所述第二逻辑地址映射至第一物理地址。即在映射标识不同的情况下,第一逻辑地址和第二逻辑地址所对应的物理地址也不相同。
作为一种实施例,所述系统在初始状态下,所述映射标识设置为第一标识,所述第一存储区域用于存储当前芯片固件,所述第二存储区域为空,所述第二存储区域切换为待写入升级固件的区域。所述处理器执行所述固件运行程序,基于所述第一标识和所述地址映射表将第一逻辑地址映射至第一物理地址,执行所述第一存储区域中存储的当前芯片固件。所述处理器执行所述固件升级程序,基于所述第一标识和所述地址映射表将第二逻辑地址映射至第二物理地址,在所述第二存储区域中写入升级固件。可以理解的是,在初始状态下,第二存储区域为空,因此无需执行擦除操作即可直接在第二存储区域中写入升级固件。
作为一种实施例,若所述映射标识设置为第一标识,当升级固件在所述第二存储区域中写入完毕时,将所述映射标识切换为第二标识,将所述第二存储区域中写入的升级固件切换为当前芯片固件,所述第一存储区域切换为待写入升级固件的区域。可以理解的是,通过切换映射标识即可实现芯片固件升级,无需在第一存储区域和第二存储区域之间搬运升级固件,提高了固件升级效率。
作为一种实施例,当所述映射标识为第二标识时,所述处理器执行所述固件运行程序,基于所述第二标识和所述地址映射表将第一逻辑地址映射至第二物理地址,执行所述第二存储区域中存储的当前芯片固件。所述处理器执行所述固件升级程序,基于所述第二标识和所述地址映射表将第二逻辑地址映射至第一物理地址,先将第一存储区域中的芯片固件擦除,然后在所述第一存储区域中写入升级固件。
需要说明的是,将所述第二存储区域中写入的升级固件切换为当前芯片固件之后,在成功运行第二存储区域中的当前芯片固件之前,第一存储区域中所存储的上一版本的芯片固件并未被擦除,当成功运行第二存储区域中的当前芯片固件之后,才能实现固件升级程序的运行,才可以在第一存储区域中写入升级固件,此时,才将第一存储区域中所存储的上一版本的芯片固件擦除。进一步的,若所述映射标识为第二标识,所述处理器执行固件运行程序时,所述当前芯片固件执行异常;当所述当前芯片固件执行异常时,所述固件升级程序无法执行,所述系统将所述映射标识切换为第一标识,将所述第一存储区域中存储的芯片固件设置切换为当前芯片固件,所述第二存储区域切换为待写入升级固件的区域。
作为一种实施例,若所述映射标识为第二标识,当升级固件在所述第一存储区域中写入完毕时,将所述映射标识切换为第一标识,将所述第一存储区域中写入的升级固件切换为当前芯片固件,所述第二存储区域切换为待写入升级固件的区域。可以理解的是,通过切换映射标识即可实现芯片固件升级,无需在第一存储区域和第二存储区域之间搬运升级固件。
作为一种实施例,若所述映射标识设置为第一标识,且所述第二存储区域不为空,所述处理器执行所述固件升级程序,基于所述第一标识和所述地址映射表将第二逻辑地址映射至第二物理地址,先将第二存储区域中的芯片固件擦除,然后在所述第二存储区域中写入升级固件。
需要说明的是,将所述第一存储区域中固件切换为当前芯片固件之后,在成功运行第一存储区域中的当前芯片固件之前,第二存储区域中所存储的上一版本的芯片固件并未被擦除,当成功运行第一存储区域中的当前芯片固件之后,才能实现固件升级程序的运行,才可以在第二存储区域中写入升级固件,此时,才将第二存储区域中所存储的上一版本的芯片固件擦除。作为一种实施例,若所述映射标识为第一标识,且所述第二存储区域不为空,所述处理器执行固件运行程序时,所述当前芯片固件执行异常;当所述当前芯片固件执行异常时,所述固件升级程序无法执行,所述系统将所述映射标识切换为第二标识,将所述第二存储区域中存储的芯片固件设置切换为当前芯片固件,所述第一存储区域切换为待写入升级固件的区域。
需要说明的是,现有技术中,第一存储区域始终用于存储当前芯片固件,第二存储区域始终用于存储升级固件,升级时,需要将第二存储区域的芯片固件搬运到第一存储区域中,因此,在搬运之前需要先将第一存储区域中的芯片固件擦除,搬运之后,才能基于第一存储区域运行搬运后的升级固件,但是,若升级固件出现异常,则无法直接返回上一版本的芯片固件,可能出现芯片卡顿甚至无法运行,若需要找回上一版本的芯片固件,还需要到服务器中,花费大量的时间和资源来寻找,可靠性差。而本申请在运行升级的固件时,第一存储区域或第二存储区域中,上一版本的芯片固件并未被擦除,只有在升级固件成功运行后,才会将上一版本的芯片固件擦除,若出现升级固件运行异常,则能快速通过切换映射标识,返回上一版本的芯片固件正常运行,并可以继续等待新的升级固件写入,提高了芯片升级的可靠性。
本发明实施例所述系统在实现芯片固件升级时,无需更改固件运行程序和固件升级程序,也无需在第一存储区域和第二存储区域之间搬运升级固件,仅需通过切换映射标识,结合地址映射表即可实现芯片固件升级,提高了芯片固件升级效率和可靠性。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (7)

1.一种芯片固件升级系统,其特征在于,
包括第一存储器、第二存储器和处理器,其中,
所述第一存储器中存储有至少一组固件运行程序和固件升级程序;所述固件运行程序中的起始操作地址为第一逻辑地址;所述固件升级程序中的起始操作地址为第二逻辑地址;
所述处理器用于运行所述固件运行程序和固件升级程序,所述固件运行程序用于基于第一逻辑地址执行当前芯片固件,所述固件升级程序用于基于第二逻辑地址写入升级芯片固件;
所述第二存储器中包括至少一个固件存储单元,每一组固件运行程序和固件升级程序对应一个固件存储单元,所述固件存储单元包括映射标识位、地址映射表、第一存储区域和第二存储区域;所述映射标识设置为第一标识或第二标识;所述第一存储区域的起始地址为第一物理地址,所述第二存储区域的起始地址为第二物理地址;
所述地址映射表用于存储地址映射关系,若所述映射标识设置为第一标识,则所述第一逻辑地址映射至第一物理地址,所述第二逻辑地址映射至第二物理地址;若所述映射标识设置为第二标识,则所述第一逻辑地址映射至第二物理地址,所述第二逻辑地址映射至第一物理地址;
所述映射标识设置为第一标识时,所述第一存储区域用于存储当前芯片固件,所述第二存储区域切换为待写入升级固件的区域;当升级固件在所述第二存储区域中写入完毕时,将所述映射标识切换为第二标识,将所述第二存储区域中写入的升级固件切换为当前芯片固件,所述第一存储区域切换为待写入升级固件的区域;写入升级芯片固件是在当前芯片固件正常执行的前提下实现;
将所述第二存储区域中写入的升级固件切换为当前芯片固件之后,在成功运行第二存储区域中的当前芯片固件之前,第一存储区域中所存储的上一版本的芯片固件未被擦除,当成功运行第二存储区域中的当前芯片固件之后,实现固件升级程序的运行,再在第一存储区域中写入升级固件;
若所述映射标识为第二标识,所述处理器执行固件运行程序时,所述当前芯片固件执行异常;当所述当前芯片固件执行异常时,所述固件升级程序无法执行,所述系统将所述映射标识切换为第一标识,将所述第一存储区域中存储的芯片固件设置切换为当前芯片固件,所述第二存储区域切换为待写入升级固件的区域。
2.根据权利要求1所述的系统,其特征在于,
所述系统在初始状态下,所述映射标识设置为第一标识,所述第二存储区域为空;
所述处理器执行所述固件运行程序,基于所述第一标识和所述地址映射表将第一逻辑地址映射至第一物理地址,执行所述第一存储区域中存储的当前芯片固件;
所述处理器执行所述固件升级程序,基于所述第一标识和所述地址映射表将第二逻辑地址映射至第二物理地址,在所述第二存储区域中写入升级固件。
3.根据权利要求2所述的系统,其特征在于,
当所述映射标识为第二标识时,所述处理器执行所述固件运行程序,基于所述第二标识和所述地址映射表将第一逻辑地址映射至第二物理地址,执行所述第二存储区域中存储的当前芯片固件;
所述处理器执行所述固件升级程序,基于所述第二标识和所述地址映射表将第二逻辑地址映射至第一物理地址,先将第一存储区域中的芯片固件擦除,然后在所述第一存储区域中写入升级固件。
4.根据权利要求3所述的系统,其特征在于,
若所述映射标识为第二标识,当升级固件在所述第一存储区域中写入完毕时,将所述映射标识切换为第一标识,将所述第一存储区域中写入的升级固件切换为当前芯片固件,所述第二存储区域切换为待写入升级固件的区域。
5.根据权利要求4所述的系统,其特征在于,
若所述映射标识设置为第一标识,且所述第二存储区域不为空,所述处理器执行所述固件升级程序,基于所述第一标识和所述地址映射表将第二逻辑地址映射至第二物理地址,先将第二存储区域中的芯片固件擦除,然后在所述第二存储区域中写入升级固件。
6.根据权利要求4所述的系统,其特征在于,
若所述映射标识为第一标识,且所述第二存储区域不为空,所述处理器执行固件运行程序时,所述当前芯片固件执行异常;当所述当前芯片固件执行异常时,所述固件升级程序无法执行,所述系统将所述映射标识切换为第二标识,将所述第二存储区域中存储的芯片固件设置切换为当前芯片固件,所述第一存储区域切换为待写入升级固件的区域。
7.根据权利要求1所述的系统,其特征在于,
所述第一存储器、第二存储器均为非易失性存储器。
CN202310844458.4A 2023-07-11 2023-07-11 芯片固件升级系统 Active CN116560700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310844458.4A CN116560700B (zh) 2023-07-11 2023-07-11 芯片固件升级系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310844458.4A CN116560700B (zh) 2023-07-11 2023-07-11 芯片固件升级系统

Publications (2)

Publication Number Publication Date
CN116560700A CN116560700A (zh) 2023-08-08
CN116560700B true CN116560700B (zh) 2023-09-22

Family

ID=87496945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310844458.4A Active CN116560700B (zh) 2023-07-11 2023-07-11 芯片固件升级系统

Country Status (1)

Country Link
CN (1) CN116560700B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947445A (zh) * 2019-02-21 2019-06-28 广州小鹏汽车科技有限公司 一种固件升级方法及系统
CN110688247A (zh) * 2018-07-06 2020-01-14 爱思开海力士有限公司 数据存储装置、数据存储装置操作方法及固件提供服务器
CN114981771A (zh) * 2020-01-22 2022-08-30 赛普拉斯半导体公司 可从网络攻击和故障恢复的存储器设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5655677B2 (ja) * 2011-04-04 2015-01-21 富士通株式会社 ハイパーバイザ置き換え方法および情報処理装置
US9710254B2 (en) * 2015-10-28 2017-07-18 International Business Machines Corporation Replacing an accelerator firmware image without operating system reboot
US10552145B2 (en) * 2017-12-12 2020-02-04 Cypress Semiconductor Corporation Memory devices, systems, and methods for updating firmware with single memory device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688247A (zh) * 2018-07-06 2020-01-14 爱思开海力士有限公司 数据存储装置、数据存储装置操作方法及固件提供服务器
CN109947445A (zh) * 2019-02-21 2019-06-28 广州小鹏汽车科技有限公司 一种固件升级方法及系统
CN114981771A (zh) * 2020-01-22 2022-08-30 赛普拉斯半导体公司 可从网络攻击和故障恢复的存储器设备

Also Published As

Publication number Publication date
CN116560700A (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN103164342B (zh) 数据可用性的挂载时协调
US20040024957A1 (en) Window-based flash memory storage system and management and access methods thereof
US10241807B2 (en) Vehicle control device, reprogramming system
CN104360877A (zh) 基于Bootloader自更新的ECU固件更新方法
CN103299276A (zh) 嵌入式装置的软件更新过程
US7797573B2 (en) Memory management method and portable terminal device
CN100504782C (zh) 避免基本输出入系统程序更新失败的计算机系统
CN101650662A (zh) 一种嵌入式系统的存储器件、固件启动及升级方法
CN105760165B (zh) 一种mcu自我备份加载刷新的方法
CN104516959A (zh) 一种管理数据库日志的方法及装置
CN104391714A (zh) 一种车辆的软件更新方法和装置
US9223697B2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
CN115061713A (zh) 升级电子设备的方法及装置
CN101727361B (zh) 一种终端产品版本存储的方法与系统
CN116560700B (zh) 芯片固件升级系统
KR20080066381A (ko) 소프트웨어의 업그레이드 방법
CN116909607A (zh) 程序升级方法、装置、计算机设备、存储介质和程序产品
CN112634975A (zh) 一种数据存储纠错方法、装置及电子设备
CN102855162B (zh) 一种数据更新方法、数据更新系统及存储器
CN116501357A (zh) 一种单片机的在线升级方法
JP5157789B2 (ja) プログラム更新方法及びプログラム更新装置
US20040015943A1 (en) Embedded computer system equipped with an upgradeable software library
CN111124294B (zh) 一种扇区映射信息的管理方法及装置、存储介质和设备
CN105183502B (zh) 一种雷达阵面数字单元程序并行刷新方法
JP2008047155A (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