最小化在可热插拔程序存储器中的操作系统内核更新期间的切换时间的制作方法

文档序号:9422696阅读:507来源:国知局
最小化在可热插拔程序存储器中的操作系统内核更新期间的切换时间的制作方法
【技术领域】
[0001]本发明涉及微控制器及微处理器且特定来说涉及热可插拔程序代码。
【背景技术】
[0002]在具有多重启动存储器架构的处理器(微处理器及微控制器)中,处理器具有程序存储器的两个或两个以上区域。这些区域可表示存储器的逻辑分割或可表示实际物理分区。一般来说,由以下事实定义此架构:程序存储器的一个区域可在CPU于程序存储器的另一区域之外继续执行时更新。
[0003]针对此的典型使用案例为在应用程序运行时执行对单个组应用程序代码的更新。此“热”更新对“恒定运行”应用程序为重要的,其中处理器的任何显著停机时间可能成问题。
[0004]—旦应用程序及/或处理器确定新版本的代码可用于另一区域中,其即执行“热插拔”,其中从旧区域到新区域进行代码执行的传送。此通常伴随有处理器的复位。此复位需要特定时间量。
[0005]更特定来说,典型实施方案为在通过将完整新副本的程序图像写入到存储器B中而更新程序代码时从存储器A执行。一旦已写入并验证新程序图像,MCU/MPU即切换到存储器B中的程序执行(经更新程序代码)。在不进行系统复位的情况下,此可由于如堆叠、堆、程序计数器、中断向量表等资源的电位重新定位而为复杂操作。然而,在于切换之前进行系统复位的情况下,切换时间增加,此可不适合于例如SMPS (切换模式电力供应器)、电动机控制等的恒定运行应用程序。
[0006]总重新启动时间由数个顺序事件构成,包含启动振荡器/带隙/调节器等、切换到正确时钟源、设置堆叠、设置堆、初始化SRAM及初始化所有外围装置。
[0007]举例来说,在图1中展示图解说明用于热插拔所需要的时间的示意图。展示时间线101。一旦已依第一指令102启动新代码,即必须设置堆叠104,必须设置堆106,必须初始化SRAM 108及必须初始化外围装置110。仅在那时代码自身才可开始执行112。如可了解,设置堆叠及堆以及初始化SRAM及外围装置可为相当耗费时间的。
[0008]因此,存在对热可插拔存储器系统中的存储器分段之间的经改进切换的需要。存在减少此类系统中的切换时间的又一需要。

【发明内容】

[0009]通过根据本发明的实施例的系统及方法在很大程度上克服现有技术中的这些及其它缺陷。实施例提供用于通过确定需要复位哪些外围装置且仅复位那些外围装置而最小化热插拔中的切换时间的解决方案。一种根据实施例的用于热插拔程序代码的方法包含:定义从其执行的新代码的预定范围;从所述新代码识别需要重新初始化或复位的一或多个系统组件;重新初始化或复位所述一或多个系统组件;及执行所述新代码。在一些实施例中,所述识别包含:固件识别定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个配置位。在一些实施例中,通过从旧代码到所述新代码的切换来触发所述识别。在一些实施例中,通过从所述新代码的寄存器写入来触发所述识别。在一些实施例中,所述识别包含:所述新代码中的预定代码分段读取定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个软件配置寄存器。
[0010]一种根据实施例的处理器经配置以通过以下操作实施热插拔程序代码:定义从其执行的新代码的预定范围;从所述新代码识别需要重新初始化或复位的一或多个系统组件;重新初始化或复位所述一或多个系统组件;及执行所述新代码。在一些实施例中,所述识别包含:固件识别定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个配置位。在一些实施例中,通过从旧代码到所述新代码的切换来触发所述识别。在一些实施例中,通过从所述新代码的寄存器写入来触发所述识别。在一些实施例中,所述识别包含:所述新代码中的预定代码分段读取定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个软件配置寄存器。
[0011]—种根据实施例的用于热插拔程序代码的计算机程序产品包含一或多个有形计算机可读媒体,所述计算机程序产品经配置用于:定义从其执行的新代码的预定范围;从所述新代码识别需要重新初始化或复位的一或多个系统组件;重新初始化或复位所述一或多个系统组件;及执行所述新代码。在一些实施例中,所述识别包含:固件识别定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个配置位。在一些实施例中,通过从旧代码到所述新代码的切换来触发所述识别。在一些实施例中,通过从所述新代码的寄存器写入来触发所述识别。在一些实施例中,所述识别包含:所述新代码中的预定代码分段读取定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个软件配置寄存器。
【附图说明】
[0012]所属领域的技术人员通过参考随附图式,可更好地理解本发明且易知本发明的众多目标、特征及优点。在不同图式中,使用相同参考符号来指示相似或同样的项目。
[0013]图1是图解说明示范性热插拔时间的图式。
[0014]图2是示范性处理器的框图;
[0015]图3是图解说明示范性热插拔时间的图式。
[0016]图4A及图4B示意性地图解说明实施例的操作。
[0017]图5是图解说明实施例的操作的流程图。
【具体实施方式】
[0018]参考在随附图式中图解说明且在以下说明中详述的示范性(且因此非限制性)实施例更全面地解释本发明及其各种特征及有利细节。可省略对已知编程技术、计算机软件、硬件、操作平台及协议的说明以便在细节上不必要地使本发明模糊不清。然而,应理解,虽然指示优选实施例,但详细说明及特定实例仅以图解说明方式而非以限制方式给出。所属领域的技术人员将从本发明明了在基础发明性概念的精神及/或范围内的各种替换、修改、添加及/或重新布置。
[0019]如本文中所使用,术语“包括(comprises) ”、“包括(comprising) ”、“包含(includes),,、“包含(including),,、“具有(has) ”、“具有(having) ”或其任何其它变化打算涵盖非穷尽性包含。举例来说,包括元件列表的过程、产品、物品或设备未必仅限于那些元件,而是可包含未明确列出或此过程、过程、物品或设备所固有的其它元件。此外,除非明确地陈述相反的情形,否则“或”是指“同或”且不指“异或”。举例来说,以下各项中的任一者均满足条件A或B:A为真(或存在)且B为假(或不存在)、A为假(或不存在)且B为真(或存在)以及A及B两者皆为真(或存在)。
[0020]另外,本文中所给出的任何实例或图解说明无论如何均不应视为对实例或图解说明借以被利用的任一术语或任何术语的约束、限制或明确定义。相反,这些实例或图解说明应被视为关于一个特定实施例进行描述且仅应视为说明性的。所属领域的技术人员将了解,这些实例或图解说明借以被利用的任一术语或任何术语囊括其它实施例以及可或不可随其或在说明书中的其它地方给出的其实施方案及更改,且所有此类实施例打算被包含于所述术语或所述若干术语的范围内。指定此类非限制性实例及图解说明的语言包含但不限于:“举例来说”、“比如”、“例如”、“在一个实施例中”及类似物。
[0021]现在转向图2,展示并通常由参考编号200识别可根据实施例实施多重启动系统的示范性处理器的框图。应注意,处理器或微控制器的其它配置为可能的。因此,所述图仅为示范性的。
[0022]在所图解说明的实例中,处理器200包含总线201及耦合到总线201的中央处理单元(CPU)核心202。CPU核心202可包含一或多个寄存器阵列250、252、算术逻辑单元254、指令解码模块256、程序计数器258、程序空间可见性(PSV)模块260及硬件乘法/除法模块262。
[0023]在所图解说明的实施例中,数据EEPROM 206及数据存储器208也耦合到总线201且与CPU核心202通信。额外装置,例如一或多个中断控制器210、一或多个外围装置214a、214b及时钟模块212。外围装置21
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1