基于NAND-Flash双启动引导的启动方法及装置的制造方法

文档序号:9564457阅读:678来源:国知局
基于NAND-Flash双启动引导的启动方法及装置的制造方法
【技术领域】
[0001 ] 本发明涉及电子产品技术领域,尤其涉及一种基于NAND-Flash双启动引导的启动方法及装置。
【背景技术】
[0002]作为操作系统的引导程序,Boot要完成对系统硬件的最小初始化,并且把系统程序代码加载到系统程序代码运行时所处的位置;最后Boot将控制权交给系统程序,使CPU从系统程序的入口点开始执行。在许多应用场合中,Boot支持的功能越来越多。为了在系统原有的Boot上合入功能和解决相关的bug, Boot在线升级功能变得尤为必要。
[0003]为了防止Boot升级中由于新版本的Boot不能正常工作而导致系统故障,一般需要将升级前的Boot保留来进行备份。这样就要求在存储器中要有两个Boot,也就是双Boot,并且两个Boot可以自动切换。目前比较常见的Boot存储器一般是NOR-Flash存储器,由于NOR-Flash存储器相对NAND-Flash存储器而言,NOR-Flash存储器的单位存储容量所对应的成本高,以及容量相对小等特点,NAND-Flash存储器更有优势。
[0004]上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

【发明内容】

[0005]本发明的主要目的在于实现NAND-Flash双启动引导的启动控制,避免初始引导区不能被同时升级的问题,提高系统运行的稳定性。
[0006]为实现上述目的,本发明提供的一种基于NAND-Flash双启动引导的启动方法包括以下步骤:
[0007]在系统启动时,获取预置的启动标志及启动引导的物理地址表;
[0008]根据所述启动标志及启动引导的物理地址表,获得所述启动标志对应的目标物理地址,并判断所述目标物理地址是否为CPU默认读取的特定物理地址;
[0009]若是,则将逻辑器件与CPU连接的NAND-Flash接口接收到的信号发送至所述NAND-Flash存储器中,以读取位于所述目标地址的第一启动引导,并根据第一启动引导进行启动;
[0010]若否,则将所述逻辑器件与CPU连接的NAND-Flash接口接收到的信号中地址信号解析后按照所述目标物理地址进行翻译,将翻译后的所述信号发送至所述NAND-Flash存储器中,以读取位于所述目标地址的第二启动引导,并根据第二启动引导进行启动。
[0011]优选地,所述将翻译后的所述信号发送至所述NAND-Flash存储器中之后还包括:
[0012]接收CPU在获取第二启动引导的第一个block时发送的停止翻译指令;
[0013]根据所述停止翻译指令,将所述逻辑器件与CPU连接的NAND-Flash接口接收到的信号发送至所述NAND-Flash存储器中,以继续读取第二启动引导,根据第二启动引导进行启动。
[0014]优选地,在根据第一启动引导启动后或根据第二启动引导启动后还包括:
[0015]判断系统启动是否成功;
[0016]当系统启动不成功时,修改启动标志,并重新启动系统,以切换启动引导。
[0017]优选地,所述判断启动是否成功之后还包括:
[0018]当系统启动成功,且系统存在更新时,下载映像文件和启动引导;
[0019]根据下载的启动引导更新非当前启动所采用的启动引导也就是将下载的所述启动引导储存至所述NAND-Flash存储器的物理地址区域中;
[0020]当更新成功时,修改所述启动标志及启动引导的物理地址表,以控制系统按照更新后的启动引导进行下次启动;当更新失败时,不修改所述启动标志及启动引导的物理地址表。
[0021 ] 优选地,在所述将所述逻辑器件与CPU连接的NAND-Flash接口接收到的信号中地址信号解析后按照所述目标物理地址进行翻译之前还包括:
[0022]判断所述目标物理地址是否为非法启动地址;
[0023]当所述目标地址为非法启动地址时,则将逻辑器件与CPU连接的NAND-Flash接口接收到的信号发送至所述NAND-Flash存储器中,以使CPU读取预设的非启动相关的存储数据。
[0024]此外,为实现上述目的,本发明还提供一种基于NAND-Flash双启动引导的启动装置包括:
[0025]获取模块,用于在系统启动时,获取预置的启动标志及启动引导的物理地址表;
[0026]第一判断模块,用于根据所述启动标志及启动引导的物理地址表,获得所述启动标志对应的目标物理地址,并判断所述目标物理地址是否为CPU默认读取的特定物理地址;
[0027]第一启动控制模块,用于当所述启动标志对应的目标物理地址为CPU默认读取的特定物理地址时,将逻辑器件与CPU连接的NAND-Flash接口接收到的信号发送至所述NAND-Flash存储器中,以读取位于所述目标地址的第一启动引导,并根据第一启动引导进行启动;
[0028]第二启动控制模块,用于当所述启动标志对应的目标物理地址不为CPU默认读取的特定物理地址时,将所述逻辑器件与CPU连接的NAND-Flash接口接收到的信号中地址信号解析后按照所述目标物理地址进行翻译,将翻译后的所述信号发送至所述NAND-Flash存储器中,以读取位于所述目标地址的第二启动引导,并根据第二启动引导进行启动。
[0029]优选地,所述基于NAND-Flash双启动引导的启动装置还包括:
[0030]接收模块,用于接收CPU在获取第二启动引导的第一个block时发送的停止翻译指令;
[0031]所述第二启动控制模块,还用于根据所述停止翻译指令,将所述逻辑器件与CPU连接的NAND-Flash接口接收到的信号发送至所述NAND-Flash存储器中,以继续读取第二启动引导,根据第二启动引导进行启动。
[0032]优选地,所述基于NAND-Flash双启动引导的启动装置还包括:
[0033]第二判断模块,用于判断系统启动是否成功;
[0034]fe制t吴块,用于当系统启动不成功时,修改启动标志,并重新启动系统,以切换启动引导。
[0035]优选地,所述基于NAND-Flash双启动引导的启动装置还包括:
[0036]下载模块,用于当系统启动成功,且系统存在更新时,下载映像文件和启动引导;
[0037]处理模块,用于根据下载的启动引导更新-非当前的启动引导也就是将下载的所述启动引导储存至所述NAND-Flash存储器的物理地址区域中;
[0038]修改模块,用于当更新成功时,修改所述启动标志及启动引导的物理地址表,以控制系统按照更新后的启动引导进行下次启动;当更新失败时,不修改所述启动标志及启动引导的物理地址表。
[0039]优选地,所述基于NAND-Flash双启动引导的启动装置还包括:
[0040]第三判断模块,用于判断所述目标物理地址是否为非法启动地址;
[0041]所述第一启动控制模块,还用于当所述目标地址为非法启动地址时,将逻辑器件与CPU连接的NAND-Flash接口接收到的信号发送至所述NAND-Flash存储器中,以使CPU读取预设的非启动相关的存储数据。
[0042]本发明通过在系统启动时,获取预置的启动标志及启动引导的物理地址表,以判断所述启动标志对应的目标物理地址是否为CPU默认读取的特定物理地址,从而以第一启动弓I导进行启动或以第二启动弓I导进行启动,进而实现了 NAND-Flash双启动引导的启动控制。由于是采用基于NAND-Flash存储器的地址翻译的方法来映射启动引导(Boot)的存储装置,因此可以对NAND-Flash上整个Boot进行升级,不需要额外设置初始引导区,可以避免初始引导区不能被同时升级的问题,提高了系统运行的稳定性与便捷性。
【附图说明】
[0043]图1为本发明基于NAND-Flash双启动引导的启动方法第一实施例的流程示意图;
[0044]图2为本发明基于NAND-Flash双启动引导的启动方法第二实施例的流程示意图;
[0045]图3为本发明基于NAND-Flash双启动引导的启动方法第三实施例的流程示意图;
[0046]图4为本发明基于NAND-Flash双启动引导的启动方法第四实施例的流程示意图;
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1