[发明专利]用于在微控制器中更新启动代码的设备和方法有效
申请号: | 201480015347.1 | 申请日: | 2014-03-01 |
公开(公告)号: | CN105144096B | 公开(公告)日: | 2019-01-18 |
发明(设计)人: | 迈克尔·西蒙斯;伊戈尔·沃耶沃达;鲁沙恩·塞缪尔 | 申请(专利权)人: | 密克罗奇普技术公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F8/656 |
代理公司: | 北京律盟知识产权代理有限责任公司 11287 | 代理人: | 沈锦华 |
地址: | 美国亚*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 最小化 可热插拔 程序 存储器 中的 操作系统 内核 更新 期间 切换 时间 | ||
一种用于热插拔系统中的操作系统内核的方法,其中所述系统包括中央处理单元、一或多个系统组件及包含旧内核及新内核的程序存储器,所述方法包括:由所述旧内核配置所述系统以通过分支到所述新内核中的适合进入点中而从所述新内核启动;由所述新内核识别需要重新初始化或复位的一或多个系统组件;进一步执行所述新内核以便重新初始化或复位所述一或多个系统组件。
技术领域
本发明涉及微控制器及微处理器且特定来说涉及热可插拔程序代码。
背景技术
在具有多重启动存储器架构的处理器(微处理器及微控制器)中,处理器具有程序存储器的两个或两个以上区域。这些区域可表示存储器的逻辑分割或可表示实际物理分区。一般来说,由以下事实定义此架构:程序存储器的一个区域可在CPU于程序存储器的另一区域之外继续执行时更新。
针对此的典型使用案例为在应用程序运行时执行对单个组应用程序代码的更新。此“热”更新对“恒定运行”应用程序为重要的,其中处理器的任何显著停机时间可能成问题。
一旦应用程序及/或处理器确定新版本的代码可用于另一区域中,其即执行“热插拔”,其中从旧区域到新区域进行代码执行的传送。此通常伴随有处理器的复位。此复位需要特定时间量。
更特定来说,典型实施方案为在通过将完整新副本的程序图像写入到存储器B中而更新程序代码时从存储器A执行。一旦已写入并验证新程序图像,MCU/MPU即切换到存储器B中的程序执行(经更新程序代码)。在不进行系统复位的情况下,此可由于如堆叠、堆、程序计数器、中断向量表等资源的电位重新定位而为复杂操作。然而,在于切换之前进行系统复位的情况下,切换时间增加,此可不适合于例如SMPS(切换模式电力供应器)、电动机控制等的恒定运行应用程序。
总重新启动时间由数个顺序事件构成,包含启动振荡器/带隙/调节器等、切换到正确时钟源、设置堆叠、设置堆、初始化SRAM及初始化所有外围装置。
举例来说,在图1中展示图解说明用于热插拔所需要的时间的示意图。展示时间线101。一旦已依第一指令102启动新代码,即必须设置堆叠104,必须设置堆106,必须初始化SRAM 108及必须初始化外围装置110。仅在那时代码自身才可开始执行112。如可了解,设置堆叠及堆以及初始化SRAM及外围装置可为相当耗费时间的。
因此,存在对热可插拔存储器系统中的存储器分段之间的经改进切换的需要。存在减少此类系统中的切换时间的又一需要。
发明内容
通过根据本发明的实施例的系统及方法在很大程度上克服现有技术中的这些及其它缺陷。实施例提供用于通过确定需要复位哪些外围装置且仅复位那些外围装置而最小化热插拔中的切换时间的解决方案。一种根据实施例的用于热插拔程序代码的方法包含:定义从其执行的新代码的预定范围;从所述新代码识别需要重新初始化或复位的一或多个系统组件;重新初始化或复位所述一或多个系统组件;及执行所述新代码。在一些实施例中,所述识别包含:固件识别定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个配置位。在一些实施例中,通过从旧代码到所述新代码的切换来触发所述识别。在一些实施例中,通过从所述新代码的寄存器写入来触发所述识别。在一些实施例中,所述识别包含:所述新代码中的预定代码分段读取定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个软件配置寄存器。
一种根据实施例的处理器经配置以通过以下操作实施热插拔程序代码:定义从其执行的新代码的预定范围;从所述新代码识别需要重新初始化或复位的一或多个系统组件;重新初始化或复位所述一或多个系统组件;及执行所述新代码。在一些实施例中,所述识别包含:固件识别定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个配置位。在一些实施例中,通过从旧代码到所述新代码的切换来触发所述识别。在一些实施例中,通过从所述新代码的寄存器写入来触发所述识别。在一些实施例中,所述识别包含:所述新代码中的预定代码分段读取定义所述一或多个系统组件中哪一系统组件需要重新初始化或复位的一或多个软件配置寄存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于密克罗奇普技术公司,未经密克罗奇普技术公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480015347.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于多个产品配置的固件更新
- 下一篇:用于在电机内传输电流的换向机构