具有存储器区域交换机制的双引导系统的制作方法

文档序号:9438880阅读:426来源:国知局
具有存储器区域交换机制的双引导系统的制作方法
【专利说明】具有存储器区域交换机制的双引导系统
[0001]相关串请案的交叉参考
[0002]此申请案主张2013年3月14日申请的第61/780,990号美国临时申请案的权益,所述申请案以全文引用的方式并入本文中。
技术领域
[0003]本发明涉及一种双引导面板交换机制,特定来说,涉及一种为微控制器提供实时更新的双引导面板交换机制。

【发明内容】

[0004]根据各种实施例,提供机制以允许用户在无需复位主机装置的情况下切换到新的代码图像。因此,可消除复位主机装置的需要且可将切换到新的代码图像的延时降低到几个CPU周期(举例来说,当已执行固件代码更新时)。
[0005]根据各种实施例,此适当配置的主机装置可允许顾客在无需停止应用程序的执行的情况下重新刷新所述装置且切换到新的代码图像。举例来说,如果在例如切换模式电源供应器(SMPS)或电动机控制器等实时约束应用程序中采用主机装置,那么此方法可为有益的。此方法还允许外围设备在发生切换时继续运行。电动机控制应用程序及切换模式电源供应器(SMPS)应用程序可尤其得益于在所述主机装置的重新刷新期间的继续执行及外围操作。
[0006]根据各种实施例,可在微控制器或处理器内提供构件以在无需复位且对异常时序具有最小影响的情况下在装置内交换作为常规指令流的部分的两个代码图像且交换速度尽可能快。
[0007]根据各种实施例,针对微控制器或处理器的中央处理单元(CPU)及相关联机制提供固有指令(举例来说,使用助记符B00TSWP)以在无需复位所述装置的情况下迫使代码图像交换。根据一些实施例,所述图像交换可为暂时的(举例来说,在装置复位之后将不选择新活动图像且所述装置将回复到其它图像)。根据特定实施例,所述图像交换可为持续的(举例来说,在装置复位之后将选择新活动图像)。
[0008]根据各种实施例,可提供具有双引导能力的中央处理单元(CPU)。所述CPU可包括指令存储器,所述指令存储器进一步包括可经配置为单独可编程的第一存储器区域及第二存储器区域。可将第一存储器区域及第二存储器区域分别指派到从中执行指令的活动存储器及非活动存储器。所述CPU的指令集可包括执行从活动存储器区域到非活动存储器区域的交换的专用指令,其中通过在所述活动存储器中执行所述专用指令之后接着在所述活动存储器中执行程序流改变指令来执行所述交换,于是所述非活动存储器成为新活动存储器且所述活动存储器成为新非活动存储器且在所述新活动存储器中继续执行指令。
【附图说明】
[0009]图1说明根据特定实施例的基于微控制器的系统。
[0010]图2说明根据特定实施例的存储器布局。
[0011]图3说明根据特定实施例的另一存储器布局。
[0012]图4说明根据特定实施例的执行存储器交换的方法。
[0013]图5说明根据特定实施例的用于调用存储器交换操作的应用程序源代码。
[0014]图6描述根据特定实施例的特殊功能寄存器中的状态位。
[0015]图7描述根据特定实施例的特殊功能寄存器中的状态位。
[0016]图8描述根据特定实施例的特殊功能寄存器中的控制/状态位。
【具体实施方式】
[0017]在应用层处执行固件图像的基于软件的切换可为挑战性的。可在非常具有时效性的应用程序中进行此方法。
[0018]特定应用程序(称为“双引导”)需要从一个代码图像(活动)执行,同时更新/重新刷新另一代码图像(非活动)。一种配置允许可选择性地激活的至少两个分离存储器区域(面板)。在一种“双引导”配置中,对非活动面板的更新后接着是应用程序重启,在此期间“双引导”机制将使先前更新的非活动面板变成新活动面板。接着将从新活动面板开始代码执行。主机装置在检查一序列数目(举例来说,设定于非易失性存储器中)之后选择活动面板。此性质的复位序列可需要数十毫秒的停机时间,在此期间应用程序不执行或至少不执行全部功能。
[0019]存在使用新代码重新刷新/更新应用程序同时继续执行现有应用程序代码(举例来说,双引导能力)的需求。此外,尤其对于非常具有时效性的应用程序来说,存在在没有与装置复位相关联的延迟的情况下切换到经更新代码图像的需求。
[0020]图1说明根据特定实施例的基于微控制器的系统100。系统100包括微控制器101 (其进一步包括中央处理单元(CPU) 102及存储器103)及编程器104。系统100可为(举例来说)切换模式电源供应器(SMPS)控制器或电动机控制器。微控制器101可为(举例来说MICROCHIP的dsPIC/PIC24系列微控制器系列内的型号,其具有处理核心、一或多个寄存器堆、板上随机存取存储器(RAM)、一或多个电源管理模式、集成模拟比较器及/或模/数转换器及针对标准输入/输出协议(例如通用串行总线及IEEE标准1149.1(JTAG))的芯片上控制器。存储器103可为非易失性存储器,例如快闪存储器或电可擦除可编程只读存储器(EEPROM)。编程器104可为外部可附接计算机系统,其提供将存储于存储器103中的新指令及/或数据。编程器104可经由串联连接(例如通用串行总线(USB)连接)连接。
[0021 ] CPU 102通过从存储器103提取指令及/或数据且执行这些指令来执行存储于存储器103中的程序。CPU 102可为(举例来说)精简指令集处理器或复杂指令集处理器。由CPU102执行的每一指令可包含操作代码及零或多个操作数。可将数据及地址编码到指令中或可从一或多个寄存器检索数据及地址。可将指令的结果存储于(举例来说)寄存器、RAM或存储器103。
[0022]存储器103可为随机存取的,意味着可在单一读周期中读取任何数据单元。存储器103可为块存取的,意味着针对数据字节的读请求可需要数据块(举例来说,512字节)的内部读取到缓冲器中。在一些实施例中,写入到空存储器位置可为立即的(举例来说,在单一写周期内)。在一些实施例中,写入到含有数据的存储器位置可需要在可进行写入之前的块擦除。
[0023]图2说明根据特定实施例的存储器103的存储器布局。在逻辑上,可将存储器103视为两个或两个以上面板200及210及测试区域220。每一面板200或210可包括识别为201、202、211及212的整数数目个存储器的连续逻辑页。存储器映射230说明存储器103的逻辑页到物理页(举例来说,物理页241到246)的映射。存储器映射230可包括未使用的物理页250及测试页260。微控制器101可进一步包括地址转换模块270。
[0024]逻辑页201、202、211及212分别映射到物理页241、242、245及246且受物理页241、242、245及246中的存储器的支持。
[0025]当执行应用程序时,微控制器101可从活动面板执行指令(且可读取数据)。如果活动面板为面板200 (即,面板I),那么微控制器101可从逻辑页201提取指令,导致从物理页241的存储器读取。所提取的指令可为参考逻辑页202中的地址的加载指令。当微控制器101执行加载指令时,微控制器101将从逻辑页202读取值,导致从存储器103的物理页242的存储器读取。如果活动面板为面板210 (即,面板2),那么由微控制器101从逻辑页211的提取将导致从物理页245的读取。
[0026]在特定实施例中,存储器103的一部分可未被使用从而导致一或多个未使用的物理页250。在特定实施例中,存储器103的一部分可含有测试指令及/或数据。此测试部分可通过映射到物理页260的逻辑测试区域220识别。测试部分可包含用于校准外围装置、验证系统或组件操作及调试应用程序代码的例程及/或数据。
[0027]在特定实施例中,地址转换模块27
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1