CN113032008A - 电子处理装置及存储器控制方法 - Google Patents

电子处理装置及存储器控制方法 Download PDF

Info

Publication number
CN113032008A
CN113032008A CN201911378130.8A CN201911378130A CN113032008A CN 113032008 A CN113032008 A CN 113032008A CN 201911378130 A CN201911378130 A CN 201911378130A CN 113032008 A CN113032008 A CN 113032008A
Authority
CN
China
Prior art keywords
memory
memory block
execution
program
control method
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.)
Granted
Application number
CN201911378130.8A
Other languages
English (en)
Other versions
CN113032008B (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.)
Nuvoton Technology Corp
Original Assignee
Nuvoton Technology Corp
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 Nuvoton Technology Corp filed Critical Nuvoton Technology Corp
Publication of CN113032008A publication Critical patent/CN113032008A/zh
Application granted granted Critical
Publication of CN113032008B publication Critical patent/CN113032008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Abstract

一种电子处理装置及存储器控制方法,其中,该电子处理装置具有存储器以及微控制器。存储器包含两个存储器区块。微控制器执行第一存储器区块所储存的第一代码以将更新代码写入第二存储器区块,于更新代码写入第二存储器区块完成时,设定将重新执行程序的起始位置从第一存储器区块重新映射到第二存储器区块,以及触发重新执行程序以执行第二存储器区块所储存的更新代码。

Description

电子处理装置及存储器控制方法
技术领域
本申请有关于存储器管理技术,特别有关于一种适用于电子处理装置的存储器控制方法。
背景技术
相较于个人电脑内部所配置的通用处理器,微控制器(Micro Control Unit,MCU)具有自供应(不用外接硬体)、节约成本、以及体积小等优点,因此更适用于消费性电子、工业控制、汽车电子、以及通信系统等领域。
随着技术发展,现今微控制器的效能越来越强大,其应用层面也开始扩展到物联网,通过遍及的网路,各种电子产品甚至可在远端控制下进行软/韧件的更新或系统升级,大幅减少了时间及人力成本。举例来说,传统的路灯若需要更新应用程序(如:软/韧件)时,一般由人力手动拆卸来进行更新,相较之下,经由物联网则可采用空中下载(Over TheAir,OTA)的方式来进行更新。
然而,以现行做法来说,经由物联网进行更新的方法大致上都包括:需要将更新的应用程序进行两次烧写、需要根据应用程序的签章来判断新旧版本、需要载入程序(loadercode)来执行新旧版本的应用程序、以及需要开机程序(boot code)来选择执行载入程序或应用程序等步骤。
图1显示现行做法在进行应用程序更新的存储器操作过程。如图1所示,存储器储存空间包括:在线升级(In System Programing,ISP)只读存储器(ISP Loader ROM,LDROM)、以及应用程序只读存储器(Application Program Read Only Memory,APROM),其中在线升级只读存储器储存了载入程序(loader code),应用程序只读存储器包括第一记忆库(bank)(在图中标示为BANK0)以及第二记忆库(在图中标示为BANK1)。
首先,在开机后,开机程序(boot code)会执行在线升级只读存储器所储存的载入程序,由载入程序去执行第一记忆库所储存的应用程序APP1。
接着,当应用程序APP1接收到更新请求时,会将更新应用程序APP2写入第二记忆库,待更新应用程序APP2完全写入第二记忆库时,则触发重新执行程序(或可称为重开机(reboot)),重新由开机程序执行载入程序,载入程序会判断是否有新版的应用程序签章存在,若有,则将更新应用程序APP2覆写到第一记忆库。
最后,当覆写完成时,再次重新执行程序,此时开机程序执行载入程序后会接着去执行第一记忆库刚被覆写完成的更新应用程序APP2。
由此可知,现行做法在进行应用程序更新时包含了两次写入应用程序的作业,且需要载入程序来管理应用程序的版本签章。因此,其复杂性将拉长开机时间也拖慢了更新的速度,且应用程序更新期间所涉及的第二次写入需要先将更新应用程序读出,将会有资料外泄或被窜改的风险。
发明内容
为了解决上述问题,本申请提出一种电子处理装置及存储器控制方法,在应用程序更新时不需要管理应用程序的版本签章,因此不需要载入程序,也不需要二次写入,将可改善整体流程的复杂性并提升开机速度,同时,也能降低资料外泄或被窜改的风险。
本申请的一实施例提供了一种电子处理装置,包括一存储器以及一微控制器。上述存储器包括一第一存储器区块、以及一第二存储器区块。上述微控制器执行上述第一存储器区块所储存的一第一代码以将一更新代码写入上述第二存储器区块,于上述更新代码写入上述第二存储器区块完成时,设定将重新执行程序的起始位置从上述第一存储器区块重新映射到上述第二存储器区块,以及触发重新执行程序以执行上述第二存储器区块所储存的上述更新代码。
较佳的情况是,上述存储器还包括一储存空间用以储存一配置(configuration),上述微控制器根据上述配置来决定重新执行程序的起始位置。
上述微控制器于上述配置为一第一数值时,执行上述第一存储器区块所储存的上述第一代码,以及上述重新映射的步骤还包括:将上述配置设定为一第二数值以触发重新执行程序时执行上述第二存储器区块所储存的上述更新代码。
上述微控制器还将上述第一存储器区块的全部或部份设置为仅限执行存储器(Execute Only Memory,XOM),并且将上述第二存储器区块的相应位置也设置为仅限执行存储器,以保护上述第一代码以及上述更新代码中的关键代码。
上述存储器为一应用程序只读存储器、或一串行外设接口(Serial PeripheralInterface,SPI)快闪存储器(flash memory)。
本申请的另一实施例提供了一种存储器控制方法,适用于包括一微控制器以及一存储器的一电子处理装置。上述存储器控制方法包括以下步骤:执行上述存储器的一第一存储器区块所储存的一第一代码以将一更新代码写入上述存储器的一第二存储器区块;于上述更新代码写入上述第二存储器区块完成时,设定将重新执行程序的起始位置从上述第一存储器区块重新映射到上述第二存储器区块;以及触发重新执行程序以执行上述第二存储器区块所储存的上述更新代码。
较佳的情况是,上述存储器还包括一储存空间用以储存一配置,上述存储器控制方法还包括:根据上述配置来决定重新执行程序的起始位置。
上述第一代码执行于上述配置为一第一数值时,上述重新映射的步骤还包括:将上述配置设定为一第二数值,以触发重新执行程序时执行上述第二存储器区块所储存的上述更新代码。
上述存储器控制方法还包括:将上述第一存储器区块的全部或部份设置为仅限执行存储器;以及将上述第二存储器区块的相应位置也设置为仅限执行存储器,以保护上述第一代码以及上述更新代码中的关键代码。
上述存储器为一应用程序只读存储器、或一串行外设接口快闪存储器。
关于本申请其他附加的特征与优点,本领域技术人员,在不脱离本申请的精神和范围内,当可根据本案实施方法中所揭露的电子处理装置以及存储器控制方法做些许的更动与润饰而得到。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是显示现行做法在进行应用程序更新的存储器操作过程;
图2是根据本申请一实施例所述的电子处理装置的示意图;
图3是根据本申请一实施例所述进行应用程序更新的存储器操作过程;
图4是根据本申请另一实施例所述进行应用程序更新的存储器操作过程;
图5是根据本申请又一实施例所述进行应用程序更新的存储器操作过程;
图6是根据本申请一实施例所述的存储器控制方法的流程图。
100~电子处理装置;
110~微控制器;
120~存储器;
121、122~存储器单元;
130~输入输出接口;
APP1、APP2~应用程序;
BANK0、BANK1~记忆库;
XOM0、XOM1、new XOM0、new XOM1~仅限执行存储器;
S610、S620、S630~步骤。
具体实施方式
本章节所叙述的是实施本申请的较佳方式,目的在于说明本申请的精神而非用以限定本申请的保护范围,当可理解的是,使用于本说明书中的「包含」、「包括」等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
图2根据本申请一实施例所述的电子处理装置的示意图。
如图2所示,电子处理装置100包括:微控制器110、存储器120、以及输入输出(Input/Output,I/O)接口130,其中微控制器110分别耦接至存储器120及输入输出接口130,用以对存储器120进行操作管理(如:执行及更新应用代码)、以及通过输入输出接口130接收及输出数字信号(如:接收要更新的应用代码)。
在一实施例,电子处理装置100可以是指单晶片微控制器(Single Chip Micro-controller),也就是将微控制器、存储器、以及输入输出接口整合在同一个晶片中。
在其他实施例,微控制器110也可以是微处理器(Micro Processing Unit,MPU)、或数字信号处理器(Digital Signal Processor,DSP)等其他具有数据运算功能的微型处理单元。
进一步说明,存储器120可划分为不同的储存区域、或可由不同的存储器单元所组成,其中每个存储器单元可以是相同或不同的存储器类型,例如:快闪存储器(flashmemory)。此外,每个存储器单元可属于同一个存储器晶片(如:同位属于一个微处理器快闪存储器)、或属于不同的存储器晶片(如:分别属于微处理器快闪存储器、以及串行外设接口(Serial Peripheral Interface,SPI)快闪存储器)。
如图2所示,存储器120包括:存储器单元121、以及存储器单元122。
存储器单元121用以储存各种设定,其至少包括:一第一配置,用以决定重新执行程序的起始位置。举例来说,当第一配置为第一数值(如:0)时,重新执行程序的起始位置为存储器单元122的第一存储器区块(在图中标示为BANK0);当第一配置为第二数值(如:1)时,重新执行程序的起始位置为存储器单元122的第二存储器区块(在图中标示为BANK1)。
在一实施例,存储器单元121可以是任一储存空间,例如:一字组(word)或一暂存器(register)。
存储器单元122至少包括两个存储器区块,每个存储器区块可储存一应用程序的代码。
在一实施例,存储器单元122可以是应用程序只读存储器,而每个存储器区块为一记忆库(bank),且微控制器110可选择性地将存储器区块中的全部或部份设置为仅限执行存储器(Execute Only Memory,XOM),使得该区域内的资料无法被读取,避免资料外泄或被窜改。
在另一实施例,存储器单元122可以是串行外设接口(Serial PeripheralInterface,SPI)快闪存储器。
输入输出接口130可包括一或多个通讯埠、按钮、以及/或喇叭等,用以接收及输出数字信号(如:接收要更新的应用代码)。
当可理解的是,图2所示的元件仅用以提供一说明的范例,并非用以限制本申请的保护范围。举例来说,电子处理装置100还可包括其他元件,例如:更多硬件资源。同样的,存储器120还可包括其他存储器单元,例如:在线升级只读存储器、以及/或资料储存存储器(data flash),其中在线升级只读存储器用以储存一些特殊的代码(如:载入程序、以及/或韧件升级所需的在线升级码),资料储存存储器则可用于储存用户资料。
图3是根据本申请一实施例所述进行应用程序更新的存储器操作过程。
如图3所示,本申请的存储器控制方法在进行应用程序更新时仅需要用到包括两个记忆库的应用程序只读存储器(如:存储器单元122),而无需在线升级只读存储器及其所储存的载入程序。
在此实施例,所述的存储器单元为应用程序只读存储器,而每个存储器区块为一记忆库。
首先,在开机后,微控制器110可根据第一配置的数值(如:初始化为0)而去执行第一记忆库所储存的应用程序APP1,并且由应用程序APP1去处理应用程序的更新请求,将更新应用程序APP2写入第二记忆库。
接着,当更新应用程序APP2写入完成时,则设定将重新执行程序的起始位置从上述第一记忆库重新映射到上述第二记忆库。
明确来说,微控制器110可将第一配置的数值设为不同数值(如:重设为1),从而实现上述记忆库的重新映射。
当可理解的是,在图3中,记忆库的重新映射完成后虽然显示为第二记忆库在第一记忆库之上,但其并非用以表示第一及第二记忆库进行了实质的储存空间调换,而是通过第一配置的数值重设让微处理器所认为的重新执行程序的起始位置有所改变。
之后,微控制器110可再触发重新执行程序,并根据第一配置的数值而去执行第二记忆库所储存的更新应用程序APP2。
图4是根据本申请另一实施例所述进行应用程序更新的存储器操作过程。
相较于图3的实施例,本实施例一样仅需要用到包括两个记忆库的应用程序只读存储器,然而,本实施例还可将记忆库中的全部或部份设置为仅限执行存储器,使得该区域内的资料无法被读取,进一步达到避免资料外泄或被窜改的效果。
首先,在开机后,微控制器110可根据第一配置的数值(如:初始化为0)而去执行第一记忆库所储存的应用程序APP1,并且由应用程序APP1去处理应用程序的更新请求,将更新应用程序APP2写入第二记忆库。
特别是,在处理应用程序的更新请求之前或在处理的过程中,微控制器110可将第一记忆库的部份区域(在图中标示为XOM0、XOM1)设为仅限执行存储器,该区域可以是储存演算法、以及/或关键代码等机密数据的部分。或者,微控制器110亦可选择将第一记忆库全部都设为仅限执行存储器。
相应地,当第一记忆库的全部或部份被设置为仅限执行存储器时,微控制器110也会将第二记忆库的相应部分(在图中标示为new XOM0、new XOM1)设置为仅限执行存储器,使得更新应用程序的机密部分也会获得保护。
接着,当更新应用程序APP2写入完成时,则设定将重新执行程序的起始位置从上述第一记忆库重新映射到上述第二记忆库。
明确来说,微控制器110可将第一配置的数值设为不同数值(如:重设为1),从而实现上述记忆库的重新映射。
当可理解的是,在图4中,记忆库的重新映射完成后虽然显示为第二记忆库在第一记忆库之上,但其并非用以表示第一及第二记忆库进行了实质的储存空间调换,而是通过第一配置的数值重设让微处理器所认为的重新执行程序的起始位置有所改变。
之后,微控制器110可再触发重新执行程序,并根据第一配置的数值而去执行第二记忆库所储存的更新应用程序APP2。
图5是根据本申请又一实施例所述进行应用程序更新的存储器操作过程。
在此实施例,所述的存储器单元为串行外设接口快闪存储器,此情形特别适用于当应用代码的尺寸较大而无法储存在微处理器内建的快闪存储器时。此时所述的每个存储器区块可以是指串行外设接口快闪存储器中的任意区块,尺寸可依应用代码的尺寸而定。举例来说,可将存储器位址0x8000000~0x8FFFFFF设定为第一存储器区块、将存储器位址0x9000000~0x9FFFFFF设定为第二存储器区块,但不限制于此。
首先,在开机后,微控制器110可根据第一配置的数值(如:初始化为0)而去执行第一存储器区块所储存的应用程序APP1,并且由应用程序APP1去处理应用程序的更新请求,将更新应用程序APP2写入第二存储器区块。
接着,当更新应用程序APP2写入完成时,则设定将重新执行程序的起始位置从上述第一存储器区块重新映射到上述第二存储器区块。
明确来说,微控制器110可将第一配置的数值设为不同数值(如:重设为1),从而实现上述存储器区块的重新映射。
当可理解的是,在图5中,存储器区块的重新映射完成后虽然显示为第二存储器区块在第一存储器区块之上,但其并非用以表示第一及第二存储器区块进行了实质的储存空间调换,而是通过第一配置的数值重设让微处理器所认为的重新执行程序的起始位置有所改变。
之后,微控制器110可再触发重新执行程序,并根据第一配置的数值而去执行第二存储器区块所储存的更新应用程序APP2。
图6是根据本申请一实施例所述的存储器控制方法的流程图。
在此实施例,存储器控制方法适用于包括微控制器(如:微控制器110)以及存储器(如:存储器120)的电子处理装置(如:电子处理装置100),并且由微控制器执行以操作存储器。
首先,执行存储器的第一存储器区块所储存的第一代码(如:APP1)以将更新代码(如:APP2)写入存储器的第二存储器区块(步骤S610)。
接着,于更新代码写入第二存储器区块完成时,设定将重新执行程序的起始位置从第一存储器区块重新映射到第二存储器区块(步骤S620)。
明确来说,上述存储器区块的重新映射可以通过设定一特定配置值来实现,而每次重新执行程序即根据该特定配置值来决定起始位置是第一存储器区块、或第二存储器区块。
在一实施例,上述特定配置值可以是一字组或一暂存器,当被设置为0时,表示重新执行程序的起始位置是第一存储器区块;当被设置为1时,表示重新执行程序的起始位置是第二存储器区块。
之后,触发重新执行程序以执行第二存储器区块所储存的更新代码(步骤S630),流程结束。
在一实施例,上述存储器可以是应用程序只读存储器(如图3至图4的范例)、或串行外设接口快闪存储器(如图5的范例)。然而,图3至图5所示的存储器类型仅用以提供说明的范例,并非用以限制本申请的保护范围,其他类型的存储器亦可适用于本申请的存储器控制方法。
根据上述实施例,当可理解的是,本申请的存储器控制方法仅需一次写入,且不需要载入程序来管理应用程序的版本签章。因此,有效地改善了整体流程的复杂性并提升了开机速度。此外,由于不需要二次写入,所以不会将更新应用程序读出,此将可有效能避免资料外泄或被窜改的风险。
本申请虽以各种实施例揭露如上,然而其仅为范例参考而非用以限定本申请的范围,任何熟习此项技艺者,在不脱离本申请的精神和范围内,当可做些许的更动与润饰。因此上述实施例并非用以限定本申请的范围,本申请的保护范围当视权利要求保护范围所界定者为准。
于申请专利范围中所使用的「第一」、「第二」等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。

Claims (10)

1.一种电子处理装置,其特征在于,包括:
一存储器,包括一第一存储器区块、以及一第二存储器区块;以及
一微控制器,执行上述第一存储器区块所储存的一第一代码以将一更新代码写入上述第二存储器区块,于上述更新代码写入上述第二存储器区块完成时,设定将重新执行程序的起始位置从上述第一存储器区块重新映射到上述第二存储器区块,以及触发重新执行程序以执行上述第二存储器区块所储存的上述更新代码。
2.如权利要求1所述的电子处理装置,其特征在于,上述存储器还包括一储存空间用以储存一配置,上述微控制器根据上述配置来决定重新执行程序的起始位置。
3.如权利要求2所述的电子处理装置,其特征在于,上述微控制器于上述配置为一第一数值时,执行上述第一存储器区块所储存的上述第一代码,以及上述重新映射的步骤还包括:将上述配置设定为一第二数值以触发重新执行程序时执行上述第二存储器区块所储存的上述更新代码。
4.如权利要求1所述的电子处理装置,其特征在于,上述微控制器还将上述第一存储器区块的全部或部份设置为仅限执行存储器,并且将上述第二存储器区块的相应位置也设置为仅限执行存储器,以保护上述第一代码以及上述更新代码中的关键代码。
5.如权利要求1所述的电子处理装置,其特征在于,上述存储器为一应用程序只读存储器、或一串行外设接口快闪存储器。
6.一种存储器控制方法,其特征在于,适用于包括一微控制器以及一存储器的一电子处理装置,上述存储器控制方法包括:
执行上述存储器的一第一存储器区块所储存的一第一代码以将一更新代码写入上述存储器的一第二存储器区块;
于上述更新代码写入上述第二存储器区块完成时,设定将重新执行程序的起始位置从上述第一存储器区块重新映射到上述第二存储器区块;以及
触发重新执行程序以执行上述第二存储器区块所储存的上述更新代码。
7.如权利要求6所述的存储器控制方法,其特征在于,上述存储器还包括一储存空间用以储存一配置,上述存储器控制方法还包括:
根据上述配置来决定重新执行程序的起始位置。
8.如权利要求7所述的存储器控制方法,其特征在于,上述第一代码执行于上述配置为一第一数值时,上述重新映射的步骤还包括:将上述配置设定为一第二数值,以触发重新执行程序时执行上述第二存储器区块所储存的上述更新代码。
9.如权利要求6所述的存储器控制方法,其特征在于,还包括:
将上述第一存储器区块的全部或部份设置为仅限执行存储器;以及
将上述第二存储器区块的相应位置也设置为仅限执行存储器,以保护上述第一代码以及上述更新代码中的关键代码。
10.如权利要求6所述的存储器控制方法,其特征在于,上述存储器为一应用程序只读存储器、或一串行外设接口快闪存储器。
CN201911378130.8A 2019-12-09 2019-12-27 电子处理装置及存储器控制方法 Active CN113032008B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW108144856A TWI726524B (zh) 2019-12-09 2019-12-09 電子處理裝置及記憶體控制方法
TW108144856 2019-12-09

Publications (2)

Publication Number Publication Date
CN113032008A true CN113032008A (zh) 2021-06-25
CN113032008B CN113032008B (zh) 2023-12-15

Family

ID=76210510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911378130.8A Active CN113032008B (zh) 2019-12-09 2019-12-27 电子处理装置及存储器控制方法

Country Status (3)

Country Link
US (1) US11307795B2 (zh)
CN (1) CN113032008B (zh)
TW (1) TWI726524B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537389B2 (en) * 2017-12-12 2022-12-27 Infineon Technologies LLC Memory devices, systems, and methods for updating firmware with single memory device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262594A (zh) * 2010-05-24 2011-11-30 慧荣科技股份有限公司 以动态门槛进行区块管理的方法及存储装置及控制器
CN102929674A (zh) * 2012-11-02 2013-02-13 威盛电子股份有限公司 电子装置以及开机方法
CN103377129A (zh) * 2012-04-11 2013-10-30 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
US20140082265A1 (en) * 2012-09-20 2014-03-20 Silicon Motion, Inc. Data storage device and flash memory control method thereof
CN104750625A (zh) * 2013-12-26 2015-07-01 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
CN109426619A (zh) * 2017-08-30 2019-03-05 慧荣科技股份有限公司 访问快闪存储器模块的方法及相关闪存控制器与电子装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070012A (en) * 1998-05-22 2000-05-30 Nortel Networks Corporation Method and apparatus for upgrading software subsystems without interrupting service
US20080155524A1 (en) * 2006-12-26 2008-06-26 Fuja Shone Firmware Updating and Extending Method for Application Specific Integrated Circuit
TW200903334A (en) * 2007-07-06 2009-01-16 Asustek Comp Inc Basic input/output system and data updating method using the same
TWI346895B (en) * 2007-11-30 2011-08-11 Inventec Corp A bootloader self-update system and method thereof
TWI447579B (zh) * 2011-05-18 2014-08-01 Phison Electronics Corp 程式碼載入與存取方法、記憶體控制器與記憶體儲存裝置
US9535688B2 (en) * 2014-07-23 2017-01-03 Verizon Patent And Licensing Inc. Efficient deployment of application revisions and implementation of application rollbacks across multiple application servers
TWI597665B (zh) * 2016-12-27 2017-09-01 緯創資通股份有限公司 在一儲存系統中更新軟體的方法及儲存系統
US10552145B2 (en) * 2017-12-12 2020-02-04 Cypress Semiconductor Corporation Memory devices, systems, and methods for updating firmware with single memory device
TWI647615B (zh) * 2018-03-29 2019-01-11 緯創資通股份有限公司 使用多嵌入式控制器韌體的韌體系統的開機方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262594A (zh) * 2010-05-24 2011-11-30 慧荣科技股份有限公司 以动态门槛进行区块管理的方法及存储装置及控制器
CN103377129A (zh) * 2012-04-11 2013-10-30 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
US20140082265A1 (en) * 2012-09-20 2014-03-20 Silicon Motion, Inc. Data storage device and flash memory control method thereof
CN102929674A (zh) * 2012-11-02 2013-02-13 威盛电子股份有限公司 电子装置以及开机方法
CN104750625A (zh) * 2013-12-26 2015-07-01 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
CN104750615A (zh) * 2013-12-26 2015-07-01 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
CN109426619A (zh) * 2017-08-30 2019-03-05 慧荣科技股份有限公司 访问快闪存储器模块的方法及相关闪存控制器与电子装置

Also Published As

Publication number Publication date
TWI726524B (zh) 2021-05-01
US11307795B2 (en) 2022-04-19
US20210173584A1 (en) 2021-06-10
CN113032008B (zh) 2023-12-15
TW202122996A (zh) 2021-06-16

Similar Documents

Publication Publication Date Title
US7512777B2 (en) Method and system for maintaining system management BIOS
US7322029B2 (en) Method and system for recovering program code in a computer system
EP1634170B1 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US6374353B1 (en) Information processing apparatus method of booting information processing apparatus at a high speed
CN110032405B (zh) 系统开机码存储器管理方法、存储器装置与应用其的电子系统
US20200201653A1 (en) Method of Implementing Magnetic Random Access Memory (MRAM) for Mobile System-on-Chip Boot
US20110283274A1 (en) Firmware image update and management
WO2023070823A1 (zh) 启动引导程序加载方法、装置、系统、电子设备及介质
KR101555210B1 (ko) 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치
US9690572B2 (en) System and method for updating firmware in real-time
CN111124288B (zh) 一种vpd存储管理方法、装置、设备及可读存储介质
US10642623B1 (en) Preserving firmware settings during firmware updates
US20100205423A1 (en) Bios, computer device and method for recovering bios
US20060129520A1 (en) System and method for automatically updating a program in a computer
CN113032008A (zh) 电子处理装置及存储器控制方法
US20030084232A1 (en) Device and method capable of changing codes of micro-controller
US6604195B1 (en) Method and apparatus to use non-volatile read/write memory for bootstrap code and processes
US20040236878A1 (en) Method of write-protecting a MAC address
US7895427B2 (en) Method and system of executing a software application in highly constrained memory situation
US20020112145A1 (en) Method and apparatus for providing software compatibility in a processor architecture
TWI733284B (zh) 硬體設定裝置及其硬體設定方法
CN109358871B (zh) 嵌入式系统设备的应用系统更换方法、装置及存储介质
CN112148201A (zh) 数据写入方法、装置及存储介质
CN110941452A (zh) 一种配置方法、bios芯片和电子设备
JP2002025281A (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