CN113094071B - 一种微控制单元、其控制方法及其固件升级方法 - Google Patents
一种微控制单元、其控制方法及其固件升级方法 Download PDFInfo
- Publication number
- CN113094071B CN113094071B CN202110446144.XA CN202110446144A CN113094071B CN 113094071 B CN113094071 B CN 113094071B CN 202110446144 A CN202110446144 A CN 202110446144A CN 113094071 B CN113094071 B CN 113094071B
- Authority
- CN
- China
- Prior art keywords
- address
- function
- source
- control unit
- micro control
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种微控制单元、控制方法及其固件升级方法,该微控制单元包括:OTP存储器,内部配置有地址映射表,用于存储固件;OTP控制器,用于对OTP存储器进行读写操作;中央处理器CPU,用于对函数进行调用和执行;总线接口,用于执行总线读操作;地址映射模块,用于根据地址映射表对调用地址执行地址映射流程。本发明公开的微控制单元基于OTP存储器的地址映射表实现对OTP存储器中的函数的部分或全部更新升级,降低微控制单元的固件升级成本,加快了微控制单元产品的迭代更新速度,使得更多的微控制单元产品使用OTP存储器作为程序可编程存储器成为可能。
Description
技术领域
本发明涉及存储器固件升级领域,具体涉及一种微控制单元、其控制方法及其固件升级方法。
背景技术
微控制单元中嵌入的程序可编程存储器可以分为一次性可编程的OTP存储器和多次可编程的MTP存储器。对于一次性可编程的OTP存储器,在程序烧写入存储器后,则不能对程序进行更改和清除,对于多次可编程MTP存储器能够进行几十次甚至上万次的编程。目前在微控制单元中出于成本的考虑,通常使用一次性可编程OTP存储器作为嵌入的程序可编程存储器,但是使用一次性可编程OTP存储器作为微控制单元中的程序可编程存储器,存在在产品迭代、更新时需要重新替换存储器的问题,耗材成本较高且产品维修更新周期长。
中国发明专利CN102364430B中公开了一种支持一次性可编程存储器多次编程的微控制器及其编程方法,该发明中通过对一次性可编程存储器中的剩余空间写入新程序而实现一次性可编程存储器的多次编程,但是该发明方法只能对一次性可编程存储器中的已有程序进行全部更新,该方法存在不能对一次性可编程存储器中已有程序进行部分更新的问题。
发明内容
为解决上述问题,本发明提供了一种微控制单元、其控制方法及其固件升级方法,本发明中公开的微控制单元使用OTP存储器,通过在一次性可编程的OTP存储器内部配置地址映射表结合地址映射模块实现OTP存储器内函数的全部或部分更新,同时实现基于OTP存储器的微控制单元的固件升级,大大降低了基于一次性可编程OTP存储器的微控制单元的维修更新成本,加快了微控制单元产品的迭代更新速度,使得更多的微控制单元产品使用一次性可编程的OTP存储器作为程序可编程存储器成为可能。本发明的具体技术方案如下:
一种微控制单元,所述微控制单元包括:OTP存储器,内部配置有地址映射表,用于存储固件;OTP控制器,用于对OTP存储器进行读写操作;中央处理器CPU,用于对函数进行调用和执行;总线接口,用于执行总线读操作;地址映射模块,用于根据地址映射表对调用地址执行地址映射流程。
与现有技术相比,本技术方案中的一次性可编程OTP存储器内部配置有地址映射表,通过地址映射的方式对一次性可编程的OTP存储器内部存储的函数进行全部或部分的更新,降低了基于一次性可编程的OTP存储器的微控制单元的固件更新成本,加快了微控制单元产品的迭代更新速度。
进一步地,所述配置于OTP存储器内部的地址映射表,用于存储一组或一组以上的地址映射关系信息。本技术方案中在OTP存储器内部配置地址映射表,通过在地址映射表内存储OTP存储器的函数更新后对应的地址映射关系,以实现OTP存储器存储的函数的部分或全部的更新。
进一步地,每一组地址映射关系信息包括源起始地址、源结束地址、目标起始地址和有效标识段;其中,所述源起始地址是指第一函数中待更新部分数据的起始地址;所述源结束地址是指第一函数中待更新部分数据的结束地址;所述目标起始地址是指第二函数中数据的起始地址;所述第一函数是指原存储于一次性可编程OTP存储器中的函数;所述第二函数是指用于为第一函数的待更新部分数据提供更新数据的函数;所述有效标识段用于识别地址映射表中该有效标识段所在行是否已存储有一组地址映射关系信息;所述有效标识段包括已存储和未存储两种状态,有效标识段表示已存储状态的逻辑与有效标识段表示未存储状态的逻辑相反。本技术方案中地址映射关系信息通过设置有效标识段以识别该有效标识段所在行是否存储有地址映射关系信息,地址映射关系信息中的源起始地址、源结束地址用于确定第一函数中待更新部分数据,目标起始地址用于确定第二函数的起始地址,基于这三种地址信息可实现对第一函数的部分或全部更新。
进一步地,所述总线接口执行的总线读操作具体是指所述微处理器CPU对函数进行调用时输出函数调用信息至总线接口,以供总线接口从函数调用信息中获取函数调用第一地址,进而根据函数调用地址执行读操作。
本发明还公开一种微控制单元的控制方法,所述微控制单元为如前所述的微控制单元,所述微控制单元的控制方法具体包括如下步骤:步骤A1:中央处理器CPU输出函数调用信息,总线接口通过读操作获取函数调用信息中的函数调用第一地址并传输至地址映射模块,然后进入步骤A2;步骤A2:地址映射模块从OTP存储器中获取地址映射表,根据地址映射表将函数调用第一地址执行地址映射流程,以获取对应的函数调用第二地址,然后将函数调用第二地址输出至OTP控制器,然后进入步骤A3;步骤A3:OTP控制器根据函数调用第二地址对OTP存储器执行读操作,以获取OTP存储器函数调用第二地址上所对应存储的第二数据,并传输至微处理器CPU,然后进入步骤A4;步骤A4:中央处理器CPU根据获取的第二数据执行相应程序。本技术方案中公开的微控制单元的控制方法,通过地址映射流程将函数调用第一地址映射为函数调用第二地址,实现对OTP存储器中的第一函数更新后的数据进行调用。
进一步地,所述地址映射流程具体包括:判断函数调用第一地址是否位于源起始地址或源结束地址,或者是源起始地址与源结束地址之间的地址;若函数调用第一地址位于源起始地址或者源结束地址,或者是源起始地址与源结束地址之间的地址,则计算函数调用第一地址与源起始地址的地址行数差值作为偏移值,将所述目标起始地址与所述偏移值叠加后所得的地址作为函数调用第二地址;若函数调用第一地址不位于源起始地址,也不位于源结束地址,同时也不位于源起始地址与源结束地址之间的地址,则函数调用第一地址等于函数调用第二地址。本技术方案公开的地址映射流程通过判断函数调用第一地址是否位于第一函数中的更新部分的地址,以确定函数调用第一地址是否需要进行映射,
本发明还公开一种微控制单元的固件升级方法,所述微控制单元为如前所述的微控制单元,所述微控制单元执行如前所述的控制方法,所述微控制单元的固件升级方法具体步骤包括:步骤B1:将所述第二函数存储于OTP存储器的未使用空间中,并将第二函数中数据的起始地址作为目标起始地址记录于OTP存储器内部配置的地址映射表中,然后进入步骤B2;步骤B2:确认所述微控制单元的当前固件升级方案所属情景,然后进入步骤B3;步骤B3:根据步骤B2中所述微控制单元的当前固件升级方案所述情景确认结果,获取源起始地址和源结束地址,并将源起始地址和源结束地址记录于OTP存储器内部配置的地址映射表中;其中,所述OTP存储器内部配置有地址映射表;所述OTP存储器中存储有第一函数的空间为已使用空间,所述OTP存储器中未存储函数且未存储地址映射表的空间为未使用空间。本技术方案公开的固件升级方法,实现了使用一次性可编程OTP存储器的微控制单元对函数的部分或全部更新,降低了微控制单元的固件升级成本,提高了微控制单元产品的迭代升级速度。
进一步地,所述步骤B2中确认所述微控制单元的当前固件升级方案所属情景具体包括:若微控制单元的当前固件升级方案为将第一函数的全部数据进行更新,则当前固件升级方案属于第一情景;若微控制单元的当前固件升级方案为将第一函数的中间部分数据进行更新,则当前固件升级方案属于第二情景;若微控制单元的当前固件升级方案为将第一函数的中间至第一函数的结束部分数据进行更新,则当前固件升级方案属于第三情景。本技术方案通过区分固件升级方案所属情景,区分地址映射表中地址映射关系信息的记录。
进一步地,所述步骤B3具体包括:若当前固件升级方案属于第一情景,则将第一函数的起始地址作为源起始地址,将第一函数的结束地址作为源结束地址,并将源起始地址和源结束地址记录于OTP存储器内部配置的地址映射表中;若当前固件升级方案属于第二情景,则将第一函数的待更新的中间部分数据的起始地址作为源起始地址,将第一函数的待更新的中间部分数据的结束地址作为源结束地址,并将源起始地址和源结束地址记录于OTP存储器内部配置的地址映射表中;若当前固件升级方案属于第三情景,则将第一函数的待更新的中间部分数据的起始地址作为源起始地址,将第一函数的结束地址作为源结束地址,并将源起始地址和源结束地址记录于一次性可编程OTP存储器内部配置的地址映射表中。
进一步地,若当前固件升级方案属于第二情景,则在第二函数的结束地址位置上对应存储跳转指令;所述跳转指令,用于当执行完第二函数后跳转回第一函数的待更新的中间部分数据的结束地址的下一地址位置。
附图说明
图1为本发明第一实施例所述微控制单元的结构示意图。
图2为本发明第二实施例所述微控制单元的控制方法流程示意图。
图3为本发明第三实施例所述微控制单元的固件升级方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰,以下将结合附图及实施例,对本发明进行描述和说明。应当理解,下面所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。此外,还可以理解的是,对本领域的普通技术人员而言,在本发明揭露的技术内容上进行一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
除非另作定义,本发明所涉及的技术术语或科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等词语并不表示数量限制,可以表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含,如:包含了一系列步骤或模块的过程、方法、系统产品或者设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或模块,或者还可以包括对于这些过程、方法、产品或设备固有的其他步骤或单元。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是用于区别类似的对应,不代表针对对象的特定排序。
本发明的第一实施例提供了一种微控制单元,图1是该微控制单元的结构示意图,如图1所示,所述微控制单元包括:中央处理器CPU、总线接口、地址映射模块、OTP控制器和OTP存储器。
具体地,所述OTP存储器是一次性可编程的存储器,用于存储固件;所述固件包括由一个或一个以上的函数所组成的一个或一个以上的程序;所述OTP存储器内部配置有地址映射表,所述地址映射表用于存储一组或一组以上的地址映射关系信息。
优选地,每一组地址映射关系信息包括源起始地址、源结束地址、目标起始地址和有效标识段;其中,所述源起始地址是指第一函数中待更新部分数据的起始地址;所述源结束地址是指第一函数中待更新部分数据的结束地址;所述目标起始地址是指第二函数中用于更新的数据的起始地址;所述第一函数是指原存储于一次性可编程OTP存储器中存在部分或全部数据待更新的一个函数;所述第二函数是指用于对第一函数的待更新部分数据提供更新数据的函数;所述有效标识段是用于识别地址映射表中该有效标识段所在行是否已存储有一组地址映射关系信息;所述有效标识段包括已存储和未存储两种状态,所述有效标识段表示已存储状态的逻辑与所述有效标识段表示未存储状态的逻辑相反。具体地,当有效标识段表示已存储状态的逻辑为“1”,则有效标识段表示未存储状态的逻辑为“0”,反之,当有效标识段表示已存储状态的逻辑为“0”,则有效标识段表示未存储状态的逻辑为“1”,而有效标识段的具体状态的逻辑在OTP存储器生产前预先配置于地址映射表内。
所述中央处理器CPU,用于对函数进行调用和执行,具体为所述中央处理器CPU输出函数调用信息以实现对函数的调用,所述中央处理器接收所述一次性可编程OTP控制器读取的所述中央处理器所调用的函数数据并执行以实现对函数的执行。
所述总线接口用于执行总线读操作,所述总线接口在接收中央处理器CPU输出的函数调用信息后,获取中央处理器CPU输出的函数调用信息中的函数调用第一地址。
所述地址映射模块,基于OTP存储器内部配置的地址映射表对函数调用地址执行地址映射流程,以实现将函数调用地址映射转化为固件更新后的OTP存储器的对应地址。所述地址映射流程通过对函数调用地址按照地址映射表进行映射转换,使得OTP存储器能够实现部分或全部更新。
所述OTP控制器,用于对OTP存储器执行读写操作。所述OTP控制器对OTP存储器的读写操作是在地址映射模块输出的函数调用地址的基础上执行的。
本发明所提供的实施例中,应当理解到,所揭露的模块和方法可以通过其他的方式实现,以上描述的实施例仅仅是示意性的,例如:所述各个模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有其它的划分方式,例如地址映射模块可以结合OTP控制器,多个模块的全部或部分组件可以结合或者可以集成到另一个系统,或者一些特征可以忽略或不执行,可以根据实际的需求选择其中的部分或全部模块来实现本发明实施例方案的目的。
本发明的第二实施例中提供了一种微控制单元的控制方法,本实施例中所使用的微控制单元为前述第一实施例所述的微控制单元,图2为本实施例所述微控制单元的控制方法流程示意图,如图2所示,所述微控制单元的控制方法具体包括如下步骤:
步骤A101:中央处理器CPU输出函数调用信息,然后进入步骤A102;具体地,所述函数调用信息是指中央处理器CPU所要调用的函数的相关信息,其中包括函数调用第一地址。
步骤A102:总线接口通过读操作读取中央处理器CPU输出的函数调用信息,并获取所述函数调用信息中的函数调用第一地址,然后进入步骤A201;所述函数调用第一地址是指中央处理器CPU所要调用的函数数据的具体存储地址。
步骤A201:地址映射模块获取被配置于OTP存储器内部的地址映射表,然后进入步骤A202;具体地,所述地址映射表内存储有一组或一组以上的地址映射关系信息;所述地址映射关系信息包括源起始地址、源结束地址、目标起始地址和有效标识段。
步骤A202:判断函数调用第一地址是否位于源起始地址或源结束地址,或者是否位于源起始地址与源结束地址之间的地址,若是则进入步骤A203-1,若否则进入步骤A203-2;其中,所述源起始地址与源结束地址之间的地址是指在第一函数中待更新部分数据对应存储的地址;所述第一函数是指存储于OTP存储器中需要执行部分或全部数据更新的函数。
步骤A203-1:计算所述函数调用第一地址与所述源起始地址的地址行数差值的绝对值作为偏移值,将目标起始地址与所述偏移值叠加后所得到的地址作为函数调用第二地址,然后进入步骤A301。
具体地,所述地址行数差值是指所述函数调用第一地址的所在行数与所述源起始地址所在行数的差值绝对值;所述函数第二调用地址等于所述目标起始地址所在行数与所述地址行数差值相叠加后所对应的地址。若确定函数调用第一地址位于源起始地址或源结束地址,或者是位于源起始地址与源结束地址之间的地址,则表示函数调用第一地址所对应存储的数据需要被更新升级,因此,需要对函数调用第一地址进行地址映射流程以获取更新后的数据所存储的地址作为函数调用第二地址。
步骤A203-2:将函数调用第一地址等同作为函数调用第二地址,然后进入步骤A301;具体地,若函数调用第一地址不位于源起始地址,也不位于源结束地址,也不位于源起始地址与源结束地址之间的地址,则表示函数调用第一地址所对应存储的数据未被更新,因此,无需对函数调用第一地址进行地址映射转换,函数调用第一地址等于函数调用第二地址。
步骤A301:OTP控制器根据函数调用第二地址对OTP存储器执行读操作,以获取OTP存储器内位于函数调用第二地址上存储的第二数据,然后进入步骤A401;其中,所述第二数据是指存储于函数调用第二地址上的数据。
步骤A401:中央处理器CPU基于步骤A301中OTP控制器读取的第二数据执行相应程序。
优选地,所述步骤A201至所述步骤A203-2为地址映射流程的具体步骤,所述地址映射流程用于将函数调用第一地址映射转换为函数调用第二地址,以实现微控制单元的固件升级后OTP存储器内存储的数据能够被正确调用。
优选地,若步骤A201中地址映射模块获取的地址映射表为空,则无需执行地址映射流程,直接将函数调用第一地址等同作为函数调用第二地址;其中,所述地址映射表为空,是指地址映射表中未存储地址映射关系信息。
本发明的第三实施例中提供了一种微控制单元的固件升级方法,其中,微控制单元为前述第一实施例中公开的基于OTP存储器的微控制单元,所述微控制单元执行前述第二实施例中公开的微控制单元的控制方法,图3是本发明的第三实施例中提供的微控制单元的固件升级方法的流程示意图,如图3所示,所述微控制单元的固件升级方法具体包括如下步骤:
步骤B101:将第二函数存储于OTP存储器的未使用空间中,然后进入步骤B102;具体地,所述第二函数是指用于实现微控制单元的固件的部分或全部升级的函数;所述未使用空间是指OTP存储器中未存储函数且未存储地址映射表的空间;所述OTP存储器中还包括已使用空间和地址映射表,所述已使用空间是指OTP存储器中存储有函数的空间;所述一次性可编程OTP存储器中存储的函数包括第一函数。
步骤B102:将第二函数中数据的起始地址作为目标起始地址记录于地址映射表中,然后进入步骤B201;
步骤B201:判断微控制单元的当前固件升级方案所述情景,若微控制单元的当前固件升级方案属于第一情景,则进入步骤B301-1,若微控制单元的当前固件升级方案属于第二情景,则进入步骤B301-2,若微控制单元的当前固件升级方案属于第三情景,则进入步骤B301-3;
具体地,所述第一情景是指OTP存储器中的第一函数的全部数据待更新;所述第二情景是指OTP存储器中的第一函数的中间部分数据待更新;所述第三情景是指OTP存储器中的第一函数的中间至结束部分数据待更新。
步骤B301-1:将第一函数的起始地址作为源起始地址记录于地址映射表中,然后进入步骤B302-1;其中,所述第一函数是指存储于OTP存储器中存在部分或全部数据待更新的函数。
步骤B302-1:将第一函数的结束地址作为源结束地址记录于地址映射表中,然后进入步骤B401;
步骤B301-2:将第一函数的待更新的中间部分数据的起始地址作为源起始地址记录于地址映射表,然后进入步骤B302-2;
步骤B302-2:将第一函数的待更新的中间部分数据的结束地址作为源结束地址记录于地址映射表,然后进入步骤B303;
步骤B303:在第二函数的结束地址位置上存储跳转指令,然后进入步骤B401;其中,所述跳转地址用于在一次性可编程OTP控制器执行完第二函数时跳转回第一函数的待更新的中间部分数据的结束地址的下一地址位置,以使得第一函数的待更新中间部分数据被更新替换为第二函数,且不影响第一函数的待更新的中间部分数据之后的数据的运行。
步骤B301-3:将第一函数的待更新的中间部分数据的起始地址作为源起始地址记录于地址映射表中,然后进入步骤B302-3;
步骤B302-3:将第一函数的结束地址作为源结束地址记录于地址映射表中,然后进入步骤B401;
步骤B401:更新地址映射表中有效标识段的逻辑状态,结束微控制单元的固件升级。
优选地,在第二情景执行的步骤B301-2中,可以将第一函数的起始地址作为第一函数的待更新的中间部分数据的起始地址。第二情景中所述待更新的第一函数的中间部分数据,可以是从第一函数的起始地址存储的数据到第一函数的中间的数据。
优选地,步骤B401中所述更新地址映射表中有效标识段的逻辑状态具体是指,通过判断该有效标识段所在行是否已记录源起始地址、源结束地址和目标起始地址,若是,则将该有效标识段的逻辑状态更新为已存储,若否,则将该有效标识段的逻辑状态更新为未存储。特别地,所述有效标识段表示未存储状态的逻辑与所述有效标识段表示已存储状态的逻辑相反,若用“0”表示未存储状态的逻辑,则“1”表示已存储状态的逻辑,同理可得,若用“0”表示已存储状态的逻辑,则“1”表示未存储状态的逻辑。
最后应当说明,以上各实施例仅仅是本发明的一部分实施例,而不是全部实施例,各个实施例之间的技术方案可以互相结合,实施例所公开的具体步骤可以根据实际需求调整顺序以达到相同的技术效果。本领域的技术人员应当理解,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,均应包含在本发明的保护范围之内。
Claims (6)
1.一种微控制单元,其特征在于,所述微控制单元包括:
OTP 存储器,内部配置有地址映射表,用于存储固件;
OTP 控制器,用于对 OTP 存储器进行读写操作;
中央处理器 CPU,用于对函数进行调用和执行;
总线接口,用于执行总线读操作;
地址映射模块,用于根据地址映射表对调用地址执行地址映射流程;
其中,配置于 OTP 存储器内部的地址映射表,用于存储至少一组的地址映射关系信息;
其中,每一组地址映射关系信息包括源起始地址、源结束地址、目标起始地址和有效标识段;其中,所述源起始地址是指第一函数中待更新部分数据的起始地址;所述源结束地址是指第一函数中待更新部分数据的结束地址;所述目标起始地址是指第二函数中数据的起始地址;所述第一函数是指原存储于 OTP 存储器中的函数;所述第二函数是指用于为第一函数的待更新部分数据提供更新数据的函数;所述有效标识段用于识别地址映射表中该有效标识段所在行是否已存储有一组地址映射关系信息;所述有效标识段包括已存储和未存储两种状态,有效标识段表示已存储状态的逻辑与有效标识段表示未存储状态的逻辑相反;
其中,所述总线接口执行的总线读操作具体是指所述中央处理器 CPU 对函数进行调用时输出函数调用信息至总线接口,以供总线接口从函数调用信息中获取函数调用第一地址,进而根据函数调用地址执行读操作;
其中,所述地址映射流程,具体包括: 判断函数调用第一地址是否位于源起始地址或源结束地址,或者是源起始地址与源结束地址之间的地址;若函数调用第一地址位于源起始地址或者源结束地址,或者是源起始地址与源结束地址之间的地址,则计算函数调用第一地址与源起始地址的地址行数差值作为偏移值,将目标起始地址与所述偏移值叠加后所得到的地址作为地址映射模块映射获取的函数调用第二地址;若函数调用第一地址不位于源起始地址,也不位于源结束地址,同时也不位于源起始地址与源结束地址之间的地址,则函数调用第一地址等于地址映射模块映射获取的函数调用第二地址。
2.一种微控制单元的控制方法,所述微控制单元为权利要求 1 所述的微控制单元,其特征在于,所述微控制单元的控制方法具体包括如下步骤:
步骤 A1:中央处理器 CPU 输出函数调用信息,总线接口通过读操作获取函数调用信息中的函数调用第一地址并传输至地址映射模块,然后进入步骤 A2;
步骤 A2:地址映射模块从 OTP 存储器中获取地址映射表,根据地址映射表将函数调用第一地址执行地址映射流程,以获取对应的函数调用第二地址,然后将函数调用第二地址输出至 OTP 控制器,然后进入步骤 A3;
步骤 A3:OTP 控制器根据函数调用第二地址对 OTP 存储器执行读操作,以获取 OTP存储器函数调用第二地址上所对应存储的第二数据,并传输至微处理器 CPU,然后进入步骤 A4;
步骤 A4:中央处理器 CPU 根据获取的第二数据执行相应程序;
其中,所述函数调用信息是指所述中央处理器所要调用的函数的相关信息,包括函数调用第一地址。
3.一种微控制单元的固件升级方法,所述微控制单元为如权利要求1所述的微控制单元,所述微控制单元执行如权利要求2所述的控制方法,其特征在于,所述微控制单元的固件升级方法具体包括:
步骤 B1:将第二函数存储于 OTP 存储器的未使用空间中,并将第二函数中数据的起始地址作为目标起始地址记录于 OTP 存储器内部配置的地址映射表中,然后进入步骤B2;
步骤 B2:确认微控制单元的当前固件升级方案所属情景,然后进入步骤 B3;
步骤 B3:根据步骤 B2 中微控制单元的当前固件升级方案所属情景的确认结果,获取源起始地址和源
结束地址,并将源起始地址和源结束地址记录于一次性可编程 OTP 存储器内部配置的地址映射表中;
其中,所述 OTP 存储器内部配置有地址映射表;所述 OTP 存储器中存储的函数包括第一函数;所述 OTP存储器中存储有函数的空间为已使用空间,所述 OTP 存储器中未存储函数且未存储地址映射表的空间为未使用空间。
4.根据权利要求 3所述的微控制单元的固件升级方法,其特征在于,所述步骤 B2 中确认所述微控制单元的当前固件升级方案所属情景具体包括:
若微控制单元的当前固件升级方案为将第一函数的全部数据进行更新,则当前固件升级方案属于第一情景;
若微控制单元的当前固件升级方案为将第一函数的中间部分数据进行更新,则当前固件升级方案属于第二情景;
若微控制单元的当前固件升级方案为将第一函数的中间至第一函数的结束部分数据进行更新,则当前固件升级方案属于第三情景。
5.根据权利要求4 所述的微控制单元的固件升级方法,其特征在于,所述步骤 B3 具体包括:
若当前固件升级方案属于第一情景,则将第一函数的起始地址作为源起始地址,将第一函数的结束地址作为源结束地址,并将源起始地址和源结束地址记录于一次性可编程OTP 存储器内部配置的地址映射表中;
若当前固件升级方案属于第二情景,则将第一函数的待更新的中间部分数据的起始地址作为源起始地址,将第一函数的待更新的中间部分数据的结束地址作为源结束地址,并将源起始地址和源结束地址记录于 OTP 存储器内部配置的地址映射表中;
若当前固件升级方案属于第三情景,则将第一函数的待更新的中间部分数据的起始地址作为源起始地址,将第一函数的结束地址作为源结束地址,并将源起始地址和源结束地址记录于 OTP 存储器内部配置的地址映射表中。
6.根据权利要求 5所述的微控制单元的固件升级方法,其特征在于,若当前固件升级方案属于第二情景,则在第二函数的结束地址位置上对应存储跳转指令;所述跳转指令,用于当执行完第二函数后跳转回第一函数的待更新的中间部分数据的结束地址的下一地址位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110446144.XA CN113094071B (zh) | 2021-04-25 | 2021-04-25 | 一种微控制单元、其控制方法及其固件升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110446144.XA CN113094071B (zh) | 2021-04-25 | 2021-04-25 | 一种微控制单元、其控制方法及其固件升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113094071A CN113094071A (zh) | 2021-07-09 |
CN113094071B true CN113094071B (zh) | 2023-06-09 |
Family
ID=76679902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110446144.XA Active CN113094071B (zh) | 2021-04-25 | 2021-04-25 | 一种微控制单元、其控制方法及其固件升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094071B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110192178A (zh) * | 2017-09-08 | 2019-08-30 | 深圳市汇顶科技股份有限公司 | 程序打补丁的方法、装置、微控制单元和终端设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429375B1 (en) * | 2006-06-16 | 2013-04-23 | Synopsys, Inc. | Memory management unit (MMU) to make only one time programmable (OTP) memory appear multiple times programmable (MTP) |
CN102364430B (zh) * | 2010-09-17 | 2013-07-31 | 杭州士兰微电子股份有限公司 | 支持一次性可编程存储器多次编程的微控制器和编程方法 |
TW201316347A (zh) * | 2011-10-07 | 2013-04-16 | Chien-Shine Chung | 集成電路、電子系統、提供otp記憶體配置可更新的方法及非短暫性電腦可讀取媒介 |
CN103064654A (zh) * | 2011-10-19 | 2013-04-24 | 庄建祥 | 集成电路、电子系统及提供otp内存配置可更新的方法 |
CN107194242B (zh) * | 2017-03-30 | 2019-11-08 | 百富计算机技术(深圳)有限公司 | 固件升级方法和装置 |
KR20190090634A (ko) * | 2018-01-25 | 2019-08-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN112346739A (zh) * | 2019-08-06 | 2021-02-09 | 珠海格力电器股份有限公司 | 中断向量表的重映射方法、装置、微处理器及电子装置 |
CN111028879B (zh) * | 2019-12-23 | 2023-06-27 | 珠海创飞芯科技有限公司 | 一种可变编程次数的多次可编程存储器 |
-
2021
- 2021-04-25 CN CN202110446144.XA patent/CN113094071B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110192178A (zh) * | 2017-09-08 | 2019-08-30 | 深圳市汇顶科技股份有限公司 | 程序打补丁的方法、装置、微控制单元和终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113094071A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101520737B (zh) | 编译方法和使用该编译方法的处理器 | |
CN100334561C (zh) | 程序调试装置、程序调试方法 | |
CN101075213B (zh) | 只读存储器数据修补电路和方法、及其嵌入式系统 | |
CN107168750B (zh) | 一种固件升级保护方法及系统 | |
CN105630661A (zh) | 用于自动化跨系统程序调试的方法和装置 | |
CN104932875A (zh) | 图像处理装置、管理系统及管理方法 | |
CN113094071B (zh) | 一种微控制单元、其控制方法及其固件升级方法 | |
CN100375029C (zh) | 存储器配置系统与方法 | |
CN109933345B (zh) | 一种控制器的无扰下装方法及相关装置 | |
CN112052032A (zh) | 电子控制单元的刷写方法及装置 | |
US20190065176A1 (en) | Method for Changing Over to a Firmware Version in an Electrical Control Unit for a Drive System, Electrical Control Unit and Drive System | |
CN103617063A (zh) | 一种移动终端的软件更新方法和装置 | |
CN113255287B (zh) | 一种基于ral的otp寄存器验证方法 | |
CN100478927C (zh) | 使用替换模块的电子设备及方法 | |
CN106020918B (zh) | 电视软件编译方法及系统 | |
CN114942745A (zh) | 电机控制器uds协议栈自动化配置方法 | |
CN113127408A (zh) | 数据转换方法及装置 | |
CN110637263B (zh) | 监视辅助装置、监视辅助方法及记录介质 | |
CN113343319A (zh) | 一种flash的类型识别方法及类型识别系统 | |
CN113434360A (zh) | 一种作业运行监控的方法及系统 | |
CN112416442A (zh) | 一种设备流程控制方法、设备及介质 | |
CN107844334B (zh) | 一种自动配置机器人rcs的方法及系统 | |
KR101354698B1 (ko) | 차량용 전자 제어 장치의 동작 방법 | |
CN102098568B (zh) | 一种电视机数据克隆的方法 | |
CN102572561A (zh) | 一种机顶盒序列号自动烧写的方法及系统 |
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 | ||
CB02 | Change of applicant information |
Address after: No. 1008, building 1, No. 26, Hongshan Road (Sunshine Building), Xiangzhou District, Zhuhai City, Guangdong Province, 519000 Applicant after: Zhuhai yiweixing Technology Co.,Ltd. Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: No. 1008, building 1, No. 26, Hongshan Road (Sunshine Building), Xiangzhou District, Zhuhai City, Guangdong Province, 519000 Applicant before: Zhuhai yiweixing Technology Co.,Ltd. Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |